2010-10-04 9 views
2

那么,我试图创建一种方式来检测用户是否输入任何内容并点击“确定”。Java - JOptionPane.InputDialog - 如果用户不输入任何内容并单击确定会怎么样?

例如,如果用户点击取消,我打破了用下面的代码while循环:

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

我想沿着这些线路的东西是用户从点击OK:

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。有没有人对我如何做到这一点有任何想法?

我发现这篇文章关于“取消”按钮,但没有关于“确定”按钮。谢谢!

回答

1

当用户输入没有输入并且命中没问题时,程序仍然将字符串存储在您的单词数组中,该字符串恰好为空。检查字符串是否空白的简单方法是检查其长度,以便您想要的代码可能类似于:

// break if user enters blank input 
if(words[i].length() == 0) break; 
相关问题