Java,switch语句:将命令和文本消息写在同一行+对象名作为命令?

时间:2017-01-26 17:36:56

标签: java object command-line switch-statement command

我是Java的初学者。在我的程序中,用户应该在按下返回键之前编写命令 message ,然后在同一行上写一些文本,程序应该打印输入的文本。这可能吗?我的目标是这样的:

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

目前我正在为程序中的所有命令使用switch语句。现在我必须写"消息"然后在写入文本之前按Enter键。

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

我的代码:

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);
    }

我还必须在程序中包含另一个命令,用户在其中输入事件的名称,程序将打印有关所述事件的信息。 是否可以将对象名称作为命令?

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

switch语句似乎对此有限?如果这不起作用,我还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

我假设您有一个类,并且您至少可以在终端中打印HelloWorld消息

所以......你需要:

扫描程序对象,以便您可以从String类中读取用户给出的输入和Split方法,这样您就可以分割输入消息Hola_World 分为两部分,第一个是消息,第二个是 Hola_World

实施例

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);
}