Java 切换 boolean 值不起作用

标签 java boolean

我正在尝试切换 boolean 值playerTurn以允许我控制方法。但是,它不起作用,方法不会移动,也不会打印出其他打印语句。

moveC1But.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) 
        {
            diceRoll();
            private boolean playerTurn = true;
            if(playerTurn == true)
            {
                moveC1Up();
                firstPanel.repaint();
                System.out.print(diceRoll());
                System.out.print("Moving counter 1");
                playerTurn = !playerTurn;
            }else if(playerTurn == false)
            {
                moveC3Up();
                firstPanel.repaint();
                System.out.print(diceRoll());
                System.out.print("Moving counter 3");
                playerTurn = !playerTurn;
            }
        }
    });

最佳答案

这是您的操作:

  1. 我掷骰子
  2. 轮到我了!
  3. 是的,轮到我了,所以我向上移动,重新粉刷,但还没轮到我
  4. 我退出

还是一样...出了点问题...第二个 if 无法执行。

解决方案: 在更高的类中创建一个playerTurn变量,而不是每次在ActionListener中创建它。

使用调试器并分析程序如何工作,然后您就会发现问题所在。

关于Java 切换 boolean 值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23350229/

相关文章:

java - 如何在不重复代码的情况下创建 JLabels(或其他元素)?

java - 以应用程序启动的 CDI bean

java - 数据库查询以获取范围内的记录

C# ||运算符不使用可为空的 boolean 值

android - 创 build 置 Activity 时出现 boolean 参数问题

java - 在 java 中使用属性文件 *AS* static final 变量中的属性

java - WeatherLib -- Volley.jar 错误导致应用程序崩溃

c++ - cin 和 boolean 输入

Java - boolean 逻辑 - 无法识别对象

java - 将 togglebutton boolean 值转换为整数值,然后在 TextView 中加在一起