我正在编写一个程序来测试我对某些日语字母的了解。基本上我希望程序输出一个随机字母,例如 あ
然后我输入我的答案 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");
}
}
}
}
最佳答案
您应该将 String
与 .equals()
进行比较,而不是 if
子句中的 ==
。
关于java - 我的 if 语句中的 boolean 值有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53892745/