3 回答
TA贡献1772条经验 获得超5个赞
你应该nextLine改用
while (scan.hasNextLine()) {
String nextInput = scan.nextLine();
stack.push(nextInput );
if (nextInput.equals(" ")) {
break;
}
}
TA贡献2016条经验 获得超9个赞
while (scan.hasNext()) {
stack.push(scan.next());
if (scan.equals(" ")) {
break;
}
}
改成
while (scan.hasNextLine()) {
String value = scan.nextLine();
if (" ".equals(value)) {
break;
}
stack.push(value);
}
scan 是一个扫描器,它不是一个字符串,scan.equals(" ")总是返回 false。
TA贡献1911条经验 获得超7个赞
你在做,
if (scan.equals(" ")) {
break;
}
这意味着您将 Scanner 对象scan与空间进行比较。尝试执行以下操作(您必须将 scan.next() 与空格进行比较):
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()) {
String nextInput = scan.next();
stack.push(nextInput );
if (nextInput.equals(" ")) {
break;
}
}
System.out.print(stack.pop() + " ");
}
}
添加回答
举报