java - 我的 if 语句中的 boolean 值有问题

标签 java

我正在编写一个程序来测试我对某些日语字母的了解。基本上我希望程序输出一个随机字母,例如 然后我输入我的答案 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/

相关文章:

java - 为什么 MediaPlayer 没有准备好?

java - hibernate + Mysql : Data truncation: Incorrect datetime value

java - 如何解决类名的一部分在java中的selenium中是否是动态的?

java - 向 Maven 添加系统依赖

java - CQEngine 优化小型数据集

java - 在java中使用终端来打包.apk文件

java - 将 JButton 改回原来的 "metal"颜色

Javafx如何通过函数创建按钮?

java - 对象类型转换

java - 使用 android api 进行谷歌驱动器配额驱动器