2

これは、SOに関する私の最初の質問です。ばかげた質問かもしれませんが、これまでのところ、私はそれを理解することができませんでした.

以下のプログラム 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 に答える