Zee*_*lok -7 java android if-statement
我对 if 语句有一个奇怪的问题。我正在检查布尔值是否为真,如果它是必须运行的 if 语句。我在很多地方 System.out.println 布尔值的值,它总是假的,但 if 语句仍然运行。有什么帮助吗?
import java.util.ArrayList;
public class GameLoop extends Thread {
private Boolean running;
private ArrayList<Meteor> meteorArrayList;
private Boolean win;
private GameScreen gameScreen;
public GameLoop(GameScreen gameScreen, ArrayList<Meteor> meteorArrayList)
{
setMeteorArrayList(meteorArrayList);
setGameScreen(gameScreen);
setRunning(true);
setWin(false);
}
@Override
public void run()
{
while (running)
{
if(checkWin());
{
System.out.println(checkWin());
gameScreen.winGame();
}
}
}
public Boolean checkWin()
{
if(getMeteorArrayList().isEmpty())
{
setWin(true);
}
else
{
setWin(false);
}
System.out.println(getWin());
return getWin();
}
public void cancel()
{
interrupt();
}
//======================GETTER EN SETTERS=============================
public Boolean getRunning() {
return running;
}
public void setRunning(Boolean running) {
this.running = running;
}
public ArrayList<Meteor> getMeteorArrayList() {
return meteorArrayList;
}
public void setMeteorArrayList(ArrayList<Meteor> meteorArrayList) {
this.meteorArrayList = meteorArrayList;
}
public Boolean getWin() {
return win;
}
public void setWin(Boolean win) {
this.win = win;
}
public GameScreen getGameScreen() {
return gameScreen;
}
public void setGameScreen(GameScreen gameScreen) {
this.gameScreen = gameScreen;
}
Run Code Online (Sandbox Code Playgroud)
}
您在那行代码中有一个小的语法错误。
代替
if (checkWin());
Run Code Online (Sandbox Code Playgroud)
它应该是
if (checkWin())
Run Code Online (Sandbox Code Playgroud)
去除那个 ;
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |