2014-03-05 54 views
0

我想创建一个简单的扫描仪测试程序,一旦用户输入“退出”将退出。Java扫描仪类 - 无法退出while循环

我有变量输出到控制台,它会输出退出,但是当我试图比较变量与原始字符串它不会看到它为真。

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(); 
} 

回答

1

您需要与equals()方法不==操作

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

谢谢:D为什么“==”不起作用? – TheShinyTuxedo

+0

@TheShinyTuxedo ==操作符用于比较对象 – Nambi

+0

==将比较对象的引用,这是它无法比较的原因。 – Gundamaiah

1

使用恒等于比较字符串比较字符串。

==将比较引用。