0

誰かがこの問題を解決するのを手伝ってくれますか? コード: http://pastebin.com/nDG7YGk5

完全なエラー: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at Stack.push(Stack.java:16) at hanukkah.input(hanukkah.java:42) at hanukkah.main(hanukkah.java: 50)

私は仮想マシンを使用していません。日食だけです。

ありがとう。

4

2 に答える 2

4

これは無限ループです:

 while(n!=0)
 s.push(n);

の値はn、スタックにプッシュしても変化しません。したがって、0 と等しくなることはありません。おそらく、それはifステートメントであること (ユーザーが 0 を入力していないことを確認するため) を意味するか、スキャナーの周りに while ループを配置して、等しくなくなるまで数字を入力し続けることができるようにすることを意味しました0.

于 2012-12-09T17:13:00.150 に答える
0

次のようなことをするつもりだったと思います:

int n = Integer.MAX_VALUE;
while (n != 0) {
   n = reader.nextInt();
   s.push(n);
}
于 2012-12-09T17:14:00.927 に答える