我试图在Java中创建一个类,它构建一个类型的对象,Action它包含三个int并将它返回到我在数组中的另一个类history,其中history是一个类型的数组Action.当它被调用时,我立刻得到一个无限循环; 因此堆栈溢出.
错误 - 我打印了1行,它继续...
Exception in thread "main" java.lang.StackOverflowError
at sudokugame.Action.<init>(Action.java:7)
Run Code Online (Sandbox Code Playgroud)
类:
public class Action {
Action a;
public Action(int i, int o, int p){
a = new Action(i,o,p);
}
public void setAction(int n, int b, int c){
}
public Action getAction(){
return a;
}
}
Run Code Online (Sandbox Code Playgroud)
Pau*_*xon 12
构造函数永远递归调用自身.溢出堆栈的可靠方法:)
public Action(int i, int o, int p){
//why do you do this?
a = new Action(i,o,p);
}
Run Code Online (Sandbox Code Playgroud)
也许你真正想做的只是在类实例中存储i,o和p?
public class Action {
int i;
int o;
int p;
public Action(int i, int o, int p){
this.i = i;
this.o = o;
this.p = p;
}
...
}
Run Code Online (Sandbox Code Playgroud)
(编辑:查看更全面的例子的其他答案)
| 归档时间: |
|
| 查看次数: |
430 次 |
| 最近记录: |