Java 当程序读取空白时,Else循环语句不显示
我希望用户输入他/她想做的事情,当程序读取一个空格/无输入时,它将显示中断循环,我在if loop语句中播放过,它不会显示中断循环Java 当程序读取空白时,Else循环语句不显示,java,Java,我希望用户输入他/她想做的事情,当程序读取一个空格/无输入时,它将显示中断循环,我在if loop语句中播放过,它不会显示中断循环 do { System.out.print("Type in stuff you would like to do: "); String stuffToDo = input.nextLine(); if (!" ".equals(stuffToDo)) { ++n; ToDo.add(stuffToDo);
do {
System.out.print("Type in stuff you would like to do: ");
String stuffToDo = input.nextLine();
if (!" ".equals(stuffToDo)) {
++n;
ToDo.add(stuffToDo);
} else {
System.out.println("breaking out of the loop");
break;
}
} while (input.hasNext());
break;
.equalsstuffToDo检查stuffToDo是否由单个空格组成
我想你是想要的,等一下
如果使用.equalStuffTodo.trim,它将与任意数量的空白符号一起使用。有关更多详细信息,请咨询Java dock。最简单的解决方案是更改
if (!" ".equals(stuffToDo))
到
这样,任何空输入或无输入都会停止程序
修剪-将删除输入开头和结尾的所有白色字符
isEmpty-如果输入为空,将返回true我建议您尝试此程序。如果只键入一个空格,则会得到一个包含一个空格的字符串
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
String s = sc.nextLine();
if ("".equals(s))
System.out.println("You typed a blank line");
else if (" ".equals(s))
System.out.println("You typed one space");
else
System.out.println("You typed '" + s + "'");
}
}
印刷品
You typed a blank line
You typed one space
hi
You typed 'hi'
我的猜测是,您输入的行中没有一个空格。尝试检查空字符串。我在1个开放空间中尝试过,但我的程序不会显示中断loop@DarelLow什么是开放空间?
You typed a blank line
You typed one space
hi
You typed 'hi'