前提・実現したいこと
英単語クイズをRandomとscannerのライブラリをもってコードを書いてみました。
問題がランダムに出題され、スキャナーを使って入力、答えあっていたら続けるか選べる。間違っていたら正解するまで入力し続けるか答えを見るどちらか選べるといった内容です。
aVoca[]とjapan[]の単語を組み合わせたいのですが、うまく出来ていないからか、思った通りに出力されません。
発生している問題・エラーメッセージ
年齢 : age (←正解しているけど不正解とでる)
不正解です!
答えを見ますか?:はい(←はいと入力しても答えがでず次の問題がでる)
年齢 :
該当のソースコード
Java
package vocaburary;
import java.util.Random;
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Random r = new Random();
Scanner sc = new Scanner(System.in);
String[] aVoca = {"age", "as a matter of fact", "amid", "amend", "affair", "abide", "agony", "attic"}; String[] japan = {"年齢","現実において", "~の真ん中に","まっすぐであるか正しく設定される","漠然としたある関心", "不快な何かまたは誰かを我慢する","強い苦しみの感情","物置、屋根裏部屋"}; while(true) { int numberOfVoca = r.nextInt(8); String answer = aVoca[numberOfVoca]; while(true) { System.out.print(japan[numberOfVoca]+" : " ); String yourAns = sc.next(); if(yourAns == answer) { System.out.println("正解です!"); break; }else { System.out.println("不正解です!"); System.out.print("答えを見ますか?:"); String input1 = sc.next(); if(input1 == "はい") { System.out.println(answer); break; } } } System.out.print("もう一度実行しますか? 1.はい 2.いいえ:"); String input = sc.next(); if(input == "2") { break; } } }
}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー