2017-01-26 9 views
0

私はJavaの初心者です。私のプログラムでは、ユーザはメッセージと、同じ行にのテキストを入力してから、returnキーを押すと、プログラムは入力したテキストを出力します。これは可能ですか?私はこのようなものを目指します:Java、switch文:コマンドとテキストメッセージを同じ行に書く+コマンドと同じオブジェクト名ですか?

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) 

スイッチのステートメントがこれにはあまりにも制限されているようですか?それがうまくいかない場合は、他にどのようなオプションがありますか?

+0

すべてのコマンドは同じ方法で入力していますか? IE:{command}コマンドの情報 –

+1

ヒント:スキャナを使用して入力を読み取り、分割してメッセージ値を取得します。 –

+0

ユーザーが入力を停止したことをどのように確認したいですか? – Coder

答えて

0

私はあなたがクラスを持っていることを仮定しますと、あなたは、少なくとも

ので、ターミナルでのHelloWorldメッセージを印刷できること...あなたが必要になります。

スキャナのオブジェクトを指定した入力を読み込むことができるようにあなたは入力メッセージが2部にをHola_World分割することができますので、Stringクラスからのユーザーとスプリット法により、第一は、メッセージで、第二は、Hola_World

0であります

例:

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); 
} 
関連する問題