当用户在输入对话框中不输入任何内容时,它会结束下面的循环。我已经调试了代码,当用户没有输入任何内容时,名称确实是“”。
while(name == "" || name == null){
name = JOptionPane.showInputDialog("Enter your name:");
}
此外,当包含输入对话框的窗口关闭或取消时,程序不会退出循环。
有人可以为我提供一些见解吗?
最佳答案
不要将字符串与 name == ""
进行比较。使用 "".equals(name)
或在您的情况下甚至使用 name.isEmpty()
(自 Java 6 起可用)。
==
用于比较引用,而不是对象的值。更多信息here .
将代码更改为:
while(name == null || name.isEmpty()){
name = JOptionPane.showInputDialog("Enter you're name:");
}
关于java - 输入对话框循环提前结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14778392/