当前位置: 首页 > 面试题库 >

如果即使不满足条件,语句是否始终运行,也很奇怪

公良奇
2023-03-14
问题内容

我对if语句有一个奇怪的问题。我正在检查布尔值是否为true,是否必须运行if语句。我在很多地方都使用System.out.println布尔值,它始终为false,但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;
}

}


问题答案:

该行代码中有一个小的语法错误。

代替

if (checkWin());

它应该是

if (checkWin())

去除 ;



 类似资料:
  • 我对if语句有一个奇怪的问题。我正在检查布尔值是否为true,if语句是否必须运行。I系统。出来println在很多地方显示布尔值,它总是false,但if语句仍然运行。有什么帮助吗? }

  • 我正在制作一个汽车游戏。只有“开始”、“停止”、“退出”命令。无法识别任何其他命令。 除了“退出”之外,所有命令都可以正常工作。使用while循环,它会执行和打印else语句: 命令=“退出”应该呈现当条件,因此跳过前面只执行外部的其他语句。为什么它执行其他两个语句,甚至认为同时条件不满足?

  • 我需要一些关于以下postgres功能的帮助 我有下表和列: 我最初在中有几个数组,然后运行一个查询(实际上是一组3个查询),选择数组,附加它们,然后将附加的数组插入表中。 我需要循环这个插入查询,直到其中一个数组()达到预定义的大小,比如长度50。 我基本上需要写一些 但是我找不到正确的语法来写这个 我http://www.postgresql.org/docs/8.4/static/plpgs

  • 问题内容: 我想要一种改进我的sql代码的好方法,当条件满足时,我必须使用内部联接。我目前正在复制代码: 我想以这种方式做到这一点: 编辑: 解决方案(由于@Damien_The_Unbeliever): 问题答案: 这应该(大约)执行相同的操作: 当然,这还意味着必须编写对其中的列的任何其他引用,以期望此类列为。

  • 我有以下JSON列表: 和下面的Java记录: Jackson是否有可能不解析与18岁以下等条件匹配的JSON条目,而无需编写消费者并过滤掉这些JSonNodes,如本答案所示? 我想要的是在第三个描述,直到现在,最后一个评论这个答案。

  • 问题内容: 这实际上可能是一个愚蠢的问题,但我想知道是否有可能使用if语句执行所有条件。我解释: 当所有三个方法都返回true时执行。关键是,当一个方法返回false时,其余方法将不会执行。这通常对性能而言是一件好事,但是如果我真的需要独立于所有方法返回的值来执行所有方法,然后对表达式求值并进入if与否,该怎么办?同样适用于OR或其他 有没有一种方法可以告诉Java采取这种方式?我目前的解决方法是