我正在编写一个程序来测试我对某些日语字母的了解。基本上,我希望程序输出一个随机字母,例如あ
,然后在扫描仪中输入答案a
,如果答案正确,它将输出“正确”,否则输出“错误”。
老实说,我不确定我的程序在做什么错。对我来说,这似乎合乎逻辑,但当我的答案明确正确时,控制台仍会输出“错误”:
public class Gojuon {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("あ");
list.add("い");
list.add("う");
list.add("え");
list.add("お");
for(int i = 0; i < 3; i++) {
String gojuonLetter = list.get(new Random().nextInt(list.size()));
System.out.println(gojuonLetter);
Scanner scanner = new Scanner(System.in);
System.out.println("Type Romaji:");
String answer = scanner.nextLine();
if(gojuonLetter == "あ" && answer == "a") {
System.out.println("Correct");
} else if(gojuonLetter == "い" && answer == "i") {
System.out.println("Correct");
} else if(gojuonLetter == "う" && answer == "u") {
System.out.println("Correct");
} else if(gojuonLetter == "え" && answer == "e") {
System.out.println("Correct");
} else if(gojuonLetter == "お" && answer == "o") {
System.out.println("Correct");
} else {
System.out.println("Wrong");
}
}
}
}
答案 0 :(得分:1)
您应该将String
子句中的.equals()
与==
而不是if
进行比较。