调用返回int []的方法

时间:2015-02-09 01:03:56

标签: java class methods int call

我有以下代码:

 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;
你能告诉我吗?

提前多多感谢!! :)

2 个答案:

答案 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提示错误的原因(实验室需要:说明:将当前播放器设置为播放器和每个单元的状态到状态中的相应状态。)

非常感谢你的帮助! (我现在可以去睡觉.. :))