Java, instruction switch: Écrire une commande et un message texte sur la même ligne + nom d'objet qu'une commande?


Je suis débutant complet en Java. Dans mon programme, l'utilisateur est censé écrire la commande message, suivi par du texte sur la même ligne avant d'appuyer sur la touche retour, et le programme doit imprimer le texte saisi. Est-ce possible? Je vise quelque chose comme ça:

Command> message this is a message!
this is a message!

Pour le moment, j'utilise une instruction switch pour toutes les commandes du programme. En ce moment, je dois écrire "message" puis appuyer sur Entrée avant d'écrire le texte.

 Command> message
 this is a message!
 this is a message! (output)

Mon code:

switch (cmd) {
    //other commands 

      case "message":
                printMessage();
                break;
      default:
        System.out.println("Wrong command!");

}

public void printMessage() {
        String text = keyboard.nextLine();
        System.out.println(text);
    }

J'ai aussi une autre commande dans le programme, où l'utilisateur entre le nom d'un événement et le programme imprime d'infos sur l'événement. Est-il possible d'avoir un nom d'objet comme une commande?

Command> event name
information about event above, if the event exists (output)

Une instruction switch semble être trop limitée pour cela? Si cela ne fonctionne pas, quelles autres options ai-je?

Author: Nathalie, 2017-01-26

1 answers

Je suppose que vous avez une classe et que vous pouvez au moins imprimer un message HelloWorld dans le Terminal

Donc... vous aurez besoin de:

Scanner objet de sorte que vous pouvez lire l'entrée donnée par l'utilisateur et la méthode Split de la classe String de sorte que vous pouvez split input message Hola_World en 2 parties, la 1ère est message et le 2ème est Hola_World

Exemple:

public static void main (String[] args){
    Scanner inputScanner = new Scanner(System.in);
    String userInput = inputScanner.nextLine();
    System.out.println("Foo: " + userInput);
    String[] userInputSplitted = userInput.split(" " );
    String fisrtPart = userInputSplitted[0];
    String secondPart = userInputSplitted[1];
    System.out.println("1st Part: " + fisrtPart);
}
 0
Author: ΦXocę 웃 Пepeúpa ツ, 2017-01-26 20:08:21