如何在全局中创建布尔数组 - Java

时间:2016-08-06 04:15:26

标签: java

我想在全局创建布尔数组,这里的代码我试图制作

public class BettingHandler extends BaseClientRequestHandler
{
  public static int player[]  = new int [100];
  public static int i;
  public static boolean playerAct[];

  public void handleClientRequest(User user, ISFSObject params)
     {
        RouletteExtension gameExt = (RouletteExtension) getParentExtension();
        if (BettingHandler.player[BettingHandler.i] != -1)
        {
            trace("player problem");
            BettingHandler.player[BettingHandler.i] = user.getPlayerId();
            BettingHandler.playerAct[BettingHandler.i] = true;
            i++;
        }
        trace("If this showed, no error");
     }
}

在Eclipse中没有显示redcross签到左边的代码

public static boolean playerAct[];

在这里

BettingHandler.playerAct[BettingHandler.i] = true;

我为SFS2X中的处理程序做了这个,所以我在SFS2X区域监视器中检查错误但不幸的是,这个脚本只运行到这个

trace("player problem");

删除此代码时

BettingHandler.playerAct[BettingHandler.i] = true;

脚本运行到此

trace("If this showed, no error");

所以我知道BettingHandler.playerAct[BettingHandler.i] = true;有问题,我怎么能修复我的代码?

2 个答案:

答案 0 :(得分:3)

您从未初始化阵列,但您正在尝试使用它。

  public static boolean playerAct[] = new boolean[100];

答案 1 :(得分:1)

有趣的事情:

public static int player[]  = new int [100];
public static int i;
public static boolean playerAct[];

第一个数组,你实际上为100个元素创建了一个数组。 您省略了第二个数组的步骤。你真的很惊讶第二个给你带来问题吗?

此外:您正在使用的任何框架;也许你应该先退后一步,学习更多关于Java的基础知识。例如,上面的代码可能在修复时有用;但是使用公共静态变量做所有事情......看起来非常像糟糕的设计。