java结束while循环条件
我正在尝试制作一个简单的程序,它使用扫描仪进行输入,并有一个while循环,该循环将继续进行输入,直到输入一个结束字符。我希望扫描器获取输入并向堆栈列表中添加字符串。我试图弄明白为什么在键入空格时,这段代码不终止while循环
import java.util.Scanner;
public class ReverseString<E> {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Stack<String> stack = new Stack();
//while(scan.hasNext() && !stack.equals(" ")){
// while(!scan.nextLine().equals("")){
while (scan.hasNext()) {
stack.push(scan.next());
if (scan.equals(" ")) {
break;
}
}
System.out.print(stack.pop() + " ");
}
}
# 1 楼答案
你应该改用
nextLine
# 2 楼答案
换成
scan是一个扫描器,它不是一个字符串,
scan.equals(" ")
总是返回false# 3 楼答案
你在做什么
这意味着您正在将Scanner对象
scan
与一个空格进行比较。尝试执行以下操作(必须将scan.next()与空格进行比较):