2017-11-04 4 views
-2

再度やりたいのか、終了するのかをユーザーに尋ねます。 私たちは彼に[Y]または[N]の回答をさせてもらいますが、彼は間違っている可能性があります。 だから私の問題は...ここにユーザーにもう一度やってもらうか、終了するときに使いやすい方がいいですか? Javaの場合

構造1

 //kb = keyboard 
     Scanner kb = new Scanner(System.in); 
     //String for the [Y] or [N] answer 
     String r = ""; 
     //boolean to go out the loop and finish 
     boolean out = true; 

     do { 
     //rest of the code of the program 
     some stuff 
     // 
     System.out.println("Do you want to do it again?\n" 
       + "[Y] or [N]"); 
     r = kb.next(); 
     }while(r == "y" || r == "Y"); 

構造2

 do { 
     //rest of the code of the program 
     some stuff 
     // 
     System.out.print("Do you want to do it again?\n" 
       + "[Y] or [N]"); 
     String answer = kb.next(); 
     switch (answer) 
     { 
     case "Y": out = true; 
      break; 
     case "y": out = true; 
      break; 
     case "N": out = false; 
      break; 
     case "n": out = false; 
      break; 
     default : 
      System.out.println("Not a valid option") ; 
      break; 
     }//end switch 
     }while(out); 

に入り、そして、どのように私は別の単語を持つユーザー答えた場合、より良いそれを行うことができますか?

+1

誰もプログラムが「もう一度やりますか?プログラミング後の質問101。プログラムが継続しているか(例えば、テキストエディタ)、ユーザはプログラムが終了したときにプログラムを終了することができる。あるいは、プログラムは1回実行した後に常に停止し( 'ls'のようなUnixコマンド)、ユーザーは必要に応じて再度実行することができます。 – Robert

答えて

1

これは本当にスタイルの質問です。正確な正解はありません。

スイッチはもっとコードなので、私はそれを避けます。あなたは

r = kb.next().toUpperCase(); 

とケースの問題の世話をして、rは文字列であるため、

while (r.equals("Y")) 

を使用することができます 。

関連する問題