代码之家  ›  专栏  ›  技术社区  ›  maddingl

Java:来自扫描仪的输入行为异常

  •  0
  • maddingl  · 技术社区  · 7 年前

    为了测试,我写了一个很短的程序:

    import java.util.Scanner;
    
    public class Main {
        public static void main(String args[]) {
            Scanner scan = new Scanner(System.in);
            String input = scan.nextLine();
            if (input == "y" ) {
                System.out.println("Test");
            }
        }
    }
    

    当我输入y时,它不会打印任何内容,通常以退出代码0结束。

    这就是我机器上的箱子吗?如果是这样,为什么会这样?

    还是我犯了一个错误?如果是这样,我需要做什么来修复它?

    事先非常感谢。

    1 回复  |  直到 7 年前
        1
  •  0
  •   MisterMystery    7 年前

    字符串的比较就是问题所在。使用 input.equals("y") 相反看见 here for details