Java Scanner类 - 无法在循环时退出

时间:2014-03-05 04:41:49

标签: java while-loop java.util.scanner break

我正在尝试创建一个简单的Scanner测试程序,一旦用户输入“Quit”就会退出。

我将变量输出到控制台并输出Quit,但是当我尝试将变量与原始字符串进行比较时,它不会将其视为真。

public static void main(String[] args) {

    String input;
    Scanner sc;

    System.out.println("Enter 'Quit' to exit.");

    while (true) {
        sc = new Scanner(System.in);
        input = sc.nextLine();
        if (input == "Quit") {
            break;
        }
        System.out.println(input);
    }

    sc.close();
}

2 个答案:

答案 0 :(得分:1)

您需要使用equals()方法比较字符串,而不是==运算符

if (input.equals( "Quit")) {
            break;
        }

答案 1 :(得分:1)

使用always equals来比较字符串。

==将比较参考文献。