我有以下代码:
public int[] getState() {
int[] a = new int[SIZE];
for (int i = 0; i < SIZE; i++) { a[i] = mCells[i].getState(); }
return a;
}
public void setState(int player, int[] state){
setCurrentPlayer(player);
//state = new int[9];
// have tried this.getState();
state = getState();
}
但是我得到以下编译器错误:
Your code did not compile: /testClass.java:25: cannot find symbol
symbol : method getState()
location: class testClass
state = getState();
^
1 error
我有两个类 CellState :
public int getState(){
return mState;
}
GameState ,第一个 getState 和以下属性:
private CellState[] mCells;
你能告诉我吗?
提前多多感谢!! :)
答案 0 :(得分:1)
state = getState()
中的{p> TestClass.java
与州= this.getState()
相同,正如您所说,您也尝试过。这意味着Java正在getState()
中寻找名为TestClass.java.
的方法您是否尝试在getState()
中调用CellState.java
方法?如果是这样,您需要一个CellState
对象的实例来调用getState()
方法。例如,像这样的代码应该在TestClass.java
中编译。
CellState myCellState = new CellState();
//do things with myCellState
myCellState.getState();
答案 1 :(得分:0)
我找到了解决方案:
public void setState(int player, int[] state){
setCurrentPlayer(player);
for(int i=0;i<SIZE;i++){
mCells[i].setState(state[i]);
}
}
我的第一个声明是正确的但是在Web IDE中,我并不完全理解实验室想要实现的内容,这就是java TestClass提示错误的原因(实验室需要:说明:将当前播放器设置为播放器和每个单元的状态到状态中的相应状态。)
非常感谢你的帮助! (我现在可以去睡觉.. :))