2

好吧,我正在尝试创建一种方法来检测用户是否没有输入任何内容并单击“确定”。

例如,如果用户单击取消,我会使用以下代码跳出 while 循环:

if (words[i] == null) break; //breaks out of while loop

我为单击“确定”的用户尝试了这些方法:

else if (Character.isDigit(words[i].charAt(0)) && words[i].charAt(0) == JOptionPane.OK_OPTION) break;

如果用户要单击“确定”,则跳出循环,但没有骰子。我得到这个例外:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at Project1.main(Project1.java:21)

OK_OPTION是 int 类型,这就是我转换为 int 的原因。有人对我如何做到这一点有任何想法吗?

我发现这篇关于“取消”按钮的帖子,但没有关于“确定”按钮的内容。谢谢!

4

1 回答 1

1

当用户没有输入任何输入并点击 OK 时,您的程序仍将字符串存储在您的 words 数组中,该字符串恰好是空白的。检查字符串是否为空白的一种简单方法是检查其长度,因此您想要的代码可能如下所示:

// break if user enters blank input
if( words[i].length() == 0 ) break;
于 2010-10-04T22:10:01.090 回答