Java非工作方法?

时间:2011-05-05 19:14:38

标签: java

嘿 所以我有这个方法来确定我写的游戏是否结束,并且由于某种原因它不起作用。我收到的错误是“赋值的左侧必须是变量”

以下是方法:

public boolean isWinner() {//checks for game completion
     int check = board[startX][startY];
     for(int i=0; i<sizeX; i++){
        for(int j=0; j<sizeY; j++){
           if (board[i][j] != check)
              return false;
        }
     }
     return true;
  }

以下是使用它的代码:

ColorFloodGame game = new ColorFloodGame (6,6);        
while (game.isWinner() = false){
    //code here
}

5 个答案:

答案 0 :(得分:4)

您有while (game.isWinner() = false),这是一项任务,因为您只有一个=标志。

您想要while (game.isWinner() == false)这是一个比较,因为它有两个=符号。

答案 1 :(得分:3)

您需要替换

while (game.isWinner() = false){

while (game.isWinner() == false){

或更好:

while (!game.isWinner()){

答案 2 :(得分:1)

while (game.isWinner() = false){

应该是

while (game.isWinner() == false){

一个'='是一个赋值,两个'=='是一个比较

答案 3 :(得分:1)

Ralf&amp; Gabe已经回答了,但恕我直言,这更具可读性:

while (!game.isWinner()){

答案 4 :(得分:1)

while语句中的表达式是一个赋值。编译器无法正确评估表达式。将您的代码更改为以下内容,一切都应该正常。

while (game.isWinner() == false) {
    //code here
}

你也可以写这样的代码

while (!game.isWinner()) {
    //code here
}

每个程序员使用的样式都不同,你应该找到自己的偏好。

希望它有所帮助。