初心者ながらクイズゲームを作ってみました。
public class Quiz { public static void main(String[] args) { System.out.println("「上上下下左右左右BA」でお馴染みの名前は○○コマンド?"); System.out.println("1:コナミ 2: ナムコ 3: セガ"); System.out.print("正解の番号を入力してください>"); int ans = new java.util.Scanner(System.in).nextInt(); if (ans == 1) { System.out.println("正解です!"); System.out.println("1986年に発売された「グラディウス」が元ネタです。"); } else if (ans == 2) { System.out.println("不正解です…"); } else if (ans == 3) { System.out.println("不正解です…"); } else { System.out.println("1~3の番号を入力してください。"); } } }
しかし、これでは13以外を入力するとプログラムが終わってしまいます。3以外を入力した場合、また数字を入力する場面に戻りたいのが理想です。
1
while文を使ってもうまくいきませんでした。
どのように変更すれば理想になるでしょうか。
よろしくお願いします。
追記
public class Quiz { public static void main(String[] args) { System.out.println("「上上下下左右左右BA」でお馴染みの名前は○○コマンド?"); System.out.println("1:コナミ 2: ナムコ 3: セガ"); System.out.print("正解の番号を入力してください>"); int ans = new java.util.Scanner(System.in).nextInt(); while (ans != 1 || ans != 2 || ans !=3 ) { System.out.print("正解の番号を入力してください>"); int ans = new java.util.Scanner(System.in).nextInt(); } if (ans == 1) { System.out.println("正解です!"); System.out.println("1986年に発売されたFCソフト「グラディウス」が元祖ネタです。"); } else if (ans == 2) { System.out.println("不正解です…"); } else if (ans == 3) { System.out.println("不正解です…"); } else { System.out.println("1~3の番号を入力してください。"); } } }
返信が遅れて申し訳ありません。
自分でwhile文を使ったのはこれです。
何人かの方に正解らしきコードを教えてもらったのですが、
内容を理解できないので、勉強不足ということでもう一度、
勉強しなおします。
回答3件
あなたの回答
tips
プレビュー