5

ユーザーが文字列を入力すると、ユーザーが「/done」と入力するまでプログラムがコンソール入力を受け取るようにしたいので、次のように動作します。

  1. ユーザーに出力: 文字列を入力してください

  2. ユーザーは次のように入力します: hello eclipse.

こんにちはテスト何とか何とか

bla 456 testmore /完了

ユーザーが任意のサイズの任意の文字列内で /done を入力するとすぐに、プログラムが中断します。「Enter」キーを押してもプログラムは終了しません。/done. と入力した場合にのみ終了します。これまでのプログラムのセットアップ方法:

Scanner 123 = new Scanner(System.in);
string input = "";
System.out.println("Enter your string: ");

do {
    input = 123.nextLine();
    System.out.print("Rest of program here..");
}

while (!input.equals("/done"));

以下のようなwhileループを下に置いてみましたが、正しくやっているとは思いません。

while (!input.equals("/done"));
    if input.equals("/done");
    break;
}

do-while ループでは、ブール値 in while が false である限り続くことを理解しています。したがって、私のプログラムでは、ユーザーが /done を入力するまでプログラムは入力を受け取るため、文字列 /done が入力されるまでブール値は false になります。次に、上記のロジックに従って、input が "/done" になるとすぐにプログラムが中断します。

私が間違っていることについてのアイデアはありますか?

4

2 に答える 2

0
         Scanner s=new Scanner(System.in);
         String input = "";
         String[] parts;
         System.out.println("Enter your string: ");
         while (true){
             input=s.nextLine();
            if (input.contains("/done")){
            parts=input.split("/done");
            //Use parts[0] to do any processing you want with the part of the string entered before /done in that line
                break;
            }
        }
于 2013-04-03T11:56:00.217 に答える