当前位置: 首页 > 知识库问答 >
问题:

奇怪的if语句始终运行,即使条件不满足[关闭]

田志尚
2023-03-14

我对if语句有一个奇怪的问题。我正在检查布尔值是否为true,if语句是否必须运行。I系统。出来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;
}

}

共有1个答案

闾丘成双
2023-03-14

您在那行代码中有一个小语法错误。

而不是

if (checkWin());

应该是这样的

if (checkWin())

移除<代码>

 类似资料:
  • 问题内容: 我对if语句有一个奇怪的问题。我正在检查布尔值是否为true,是否必须运行if语句。我在很多地方都使用System.out.println布尔值,它始终为false,但if语句仍在运行。有什么帮助吗? } 问题答案: 该行代码中有一个小的语法错误。 代替 它应该是 去除

  • 我正在使用php和mysqli创建登录页面,但是,当我键入错误的用户名和密码时,它无法显示错误消息。 如果我输入了错误的用户名,它只是无法登录,但$error没有出现,我试图将其更改为echo,但出现了错误,在我登录或键入任何内容之前,它将始终回显错误消息。我认为这意味着代码总是运行else语句。 有人知道我的代码出了什么问题吗?

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

  • 我对if/elif语句有这个烦人的问题。我是新手,抱歉愚蠢的问题。我试图找到一个修复,但没有人有它的Python。所以,如果两个条件都是True,我希望程序执行子句中的代码。据我所知,只有当两个条件都为True时,子句中的代码才会执行,对吗?不过,这在我的代码中似乎没有发生。 因此,和变量之前就已经设置好了。在这个游戏中,发生的是:用户选择偶数或奇数,并输入一个从0到5的数字。然后,计算机使用从0

  • #我想理解这个表达,它在说什么?“如果x:”是什么意思?通常在if语句之后总是有一个条件,但这个条件没有。我如何理解这一点?它在这个功能中做什么?

  • 我是JavaScript新手,如果这是一个愚蠢的问题,我很抱歉! 我正在使用Flask制作一个web应用程序,用于编写学校报告。用户选择的输入之一是孩子的性别,这将为变量指定代词。他们使用单选按钮选择性别。 但是,我的问题是总是返回“if”语句。代码将运行,但它始终包含来自此语句的信息。 任何帮助都将不胜感激!