2线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间

时间:2012-12-09 17:10:33

标签: java memory main

有人可以帮我解决这个问题吗? 代码:http://pastebin.com/nDG7YGk5

完整错误:         线程“main”中的异常java.lang.OutOfMemoryError:Java堆空间     在Stack.push(Stack.java:16)     在hanukkah.input(hanukkah.java:42)     在hanukkah.main(hanukkah.java:50)

我没有使用虚拟机, 只是日食。

感谢。

2 个答案:

答案 0 :(得分:4)

这是一个无限循环:

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

n推送到堆栈时,if的值不会改变。所以它永远不会等于0.你可能意味着要成为一个{{1}}语句(以确保用户没有输入0),或者将while循环放在扫描器周围,这样他们就可以继续输入数字直到他们不等于0。

答案 1 :(得分:0)

我认为你的意思是做:

int n = Integer.MAX_VALUE;
while (n != 0) {
   n = reader.nextInt();
   s.push(n);
}