嘿 所以我有这个方法来确定我写的游戏是否结束,并且由于某种原因它不起作用。我收到的错误是“赋值的左侧必须是变量”
以下是方法:
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
}
答案 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
}
每个程序员使用的样式都不同,你应该找到自己的偏好。
希望它有所帮助。