2

这是我在这里的第一个问题。这可能是一个愚蠢的问题,但到目前为止我还无法弄清楚。

考虑下面的程序 Reader.java:

   public class Reader {

      public static void main(String [ ] args) {

      Stack<String> stack = new Stack <String>();

         while (!StdIn.isEmpty ()) {

            stack.push(StdIn.readString());
         }

         while (!stack.isEmpty()) {

            StdOut.print(stack.pop() + " ");
         }
         StdOut.println();
     }
   }

然后给出一个文本文件(words.txt)具有以下内容:

read
cannot
I

鉴于程序已使用课程中使用的文件 StdIn.java、StdOut.java 和 Stack.java 成功编译,以下命令行指令会产生什么输出?

java Reader < words.txt

解决方案说输出应该是:

"I can read"

并不是

"I cannot read"

为什么是这样?

谢谢 :)

4

1 回答 1

2

正确的输出是你得到的“我无法阅读”。那应该是那本书的错字。

任何输入被推入堆栈,将在弹出操作期间以相反的顺序出现(不是任何新词)

于 2013-11-03T11:39:25.867 回答