Я пытаюсь создать простую программу, которая использует сканер для ввода и имеет цикл 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() + " ");
}
}