java - 输入对话框循环提前结束

标签 java while-loop joptionpane

当用户在输入对话框中不输入任何内容时,它会结束下面的循环。我已经调试了代码,当用户没有输入任何内容时,名称确实是“”。

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/

相关文章:

java - 如何使用 JOptionPane 的响应?

java - JOptionPane 中的 Inluce 方法

java - JOptionPane 如何不尊重同步?

java - 自动将 JPA 实体的 JSON 字符串列映射到 Java 对象

java - SimpleDateFormat 是否有格式字符串来获取毫秒日期时间值而不是人类可读的形式?

PHP数组循环迭代并将获取的结果放入MySQL表中

php - 修改代码以获取旧帖子上方最近评论的帖子

java - RTSP 描述 header 但没有响应

java - 以编程方式设置 textView 颜色

c++ - 为什么这个 while 循环在输入的每个字符之后重复?