我正在学习 Java,并且正在玩一些控制台应用程序。我正在尝试验证用户输入,并在用户输入错误时提示用户输入另一个值。每当我输入一个“空”值时,程序就会挂起,当我停止它时,它会吐出所有错误。我怎样才能真正检查空?
例子:
do{
//prompt user for word
System.out.print("\nType \"quit\" to exit \n");
System.out.print("Enter a single word with no spaces: ");
//check to make sure user entered a valid string
if (in.hasNext()){
strWord = in.next();
int nWordLength = strWord.length();
if(nWordLength > 0 && !strWord.isEmpty()){
//do a whole bunch of stuff
// removed for brevity
}else{
//alert user of invalid entry
System.out.println("Not a valid word.");
}else{
//alert user of invalid entry
System.out.println("Not a valid word.");
}
}while (!strWord.equals("quit")); //end if user enters quit
System.out.println("You are now done with the program");
在我因为挂起而杀死我的程序后,我得到如下输出......
键入“quit”退出 输入一个不带空格的单词:不是一个有效的单词。
键入“quit”退出 输入一个不带空格的单词:不是一个有效的单词。
键入“quit”退出 输入一个不带空格的单词:不是一个有效的单词。
输入“quit”退出
进程以退出代码 -1 结束