再三、質問いたします。
現在、qを入力された場合に終了する数当てゲームを作成しています。
下記のコードで
Java
1 String str = new String(); 2 while(!str.equals("q")) {
の部分がなぜ機能しないのか判断しかねます。
コンソールの出力結果としては、下の画像のようになります。
Java
1import java.util.Random; 2import java.util.Scanner; 3 4public class demo3 { 5 6 public static void main(String[] args) { 7 // TODO 自動生成されたメソッド・スタブ 8 Scanner kb = new Scanner(System.in); 9 10 Random random = new Random(); 11 12 int ans = random.nextInt(101); 13 int count = 0; 14 int userAns = 0; 15 16 System.out.println("0~100の数字を入力してください"); 17 18 19 String str = new String(); 20 while(!str.equals("q")) { 21 System.out.printf("%d> ", count + 1); 22 int getNumberInput = kb.nextInt(); 23 userAns = getNumberInput; 24 25 System.out.printf("\t%d ..... ", userAns); 26 if (ans == userAns) { 27 System.out.println("YOU WIN!"); 28 System.out.println("You took " + count + "tries"); 29 break; 30 } else if (ans < userAns) { 31 32 System.out.println("違います! ヒントがほしいですか?y|n"); 33 String yes = "y"; 34 String yn = kb.next(); 35 36 if (yes.equals(yn)) { 37 38 System.out.println("答えより大きいです"); 39 } else { 40 41 System.out.println("数字を入力してください"); 42 } 43 } else { 44 45 System.out.println("違います! ヒントがほしいですか?y|n"); 46 String yes = "y"; 47 String yn = kb.next(); 48 if (yes.equals(yn)) { 49 50 System.out.println("答えより小さいです"); 51 } else { 52 53 System.out.println("数字を入力してください"); 54 } 55 } 56 count++; 57 } 58 if (ans != userAns) { 59 System.out.println("Game Over! The correct answer is " + ans + " actually!! "); 60 System.out.println("You took " + count + " tries"); 61 } 62 63 } 64 65} 66
最終目標はqを入力してwhileが終了することです。
同じエラーに合われた方などいらっしゃいましたら、ご指導お願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。