Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
com.rs.game.player.Dm.initiative上的java.lang.NullPointerException(Dm.java:27)_Java_Arrays - Fatal编程技术网

com.rs.game.player.Dm.initiative上的java.lang.NullPointerException(Dm.java:27)

com.rs.game.player.Dm.initiative上的java.lang.NullPointerException(Dm.java:27),java,arrays,Java,Arrays,我只是不明白为什么它一直指向null。我是一个相当新的程序员。但在这里,我创建了一个骰子类和一个命令类。 我尝试过改变变量和各种各样的东西。我想我只是不知道为什么它指向null package com.rs.game.player; /** * Created by Kevinpro0 on 2/26/2015. */ public class Dice { public int die2; public int die3; public int die4;

我只是不明白为什么它一直指向null。我是一个相当新的程序员。但在这里,我创建了一个骰子类和一个命令类。 我尝试过改变变量和各种各样的东西。我想我只是不知道为什么它指向null

    package com.rs.game.player;

/**
 * Created by Kevinpro0 on 2/26/2015.
 */
public class Dice {
    public int die2;
    public int die3;
    public int die4;
    public int die6;
    public int die8;
    public int die10;
    public int die12;
    public int die14;
    public int die16;
    public int die18;
    public static int die20;

    public void d2() {
        die2 = (int)(Math.random()*2) +1;
    }
    public void d3() {
        die3 = (int)(Math.random()*3) +1;
    }
    public void d4() {
        die4 = (int)(Math.random()*4) +1;
    }
    public void d6() {
        die6 = (int)(Math.random()*6) +1;
    }
    public void d8() {
        die8 = (int)(Math.random()*8) +1;
    }
    public void d10() {
        die10 = (int)(Math.random()*10) +1;
    }
    public void d12() {
        die12 = (int)(Math.random()*12) +1;
    }
    public void d14() {
        die14 = (int)(Math.random()*14) +1;
    }
    public void d16() {
        die16 = (int)(Math.random()*16) +1;
    }
    public void d18() {
        die18 = (int)(Math.random()*18) +1;
    }
    public static int d20() {
        die20 = (int)(Math.random()*20) +1;
        return die20;
    }
}
/*****我现在只使用d20来做这个****/

DM.java

package com.rs.game.player;
import com.rs.game.player.*;
import com.rs.game.World;

import java.util.Arrays;

/**
 * Created by Kevinpro0 on 3/1/2015.
 */
public class Dm {
    public static Dice init = new Dice();
    public static int worldSize = World.getPlayers().size();
    public static int[] PlayerInt = new int[worldSize];
    //
    public static Player player;
    public static int initRoll  = init.die20;
    public static String playersName;
    public static int i = 1;


    public static void initiative(){

        for (i = 1; i < World.getPlayers().size() + 1; i++) {
            //Dice = new Dice();
            init.d20();
            PlayerInt[i] = initRoll;
            player.getPackets().sendPanelBoxMessage(Integer.toString(Dice.d20()));
            //player.getPackets().sendPanelBoxMessage("Player " + i + " is " + playersName + " and initiative roll: " + Integer.toString(initRoll));

        }
    }
}



Commands.java


case "init":
                case "initiative":
                    Dm dmaster = new Dm();
                    //String currentPlayer = player.getUsername();
                    //Player Dm = World.getPlayerByDisplayName("Dm");
                    if (player.getUsername().equalsIgnoreCase("Dm")) {
                        if (World.getPlayers().size() <= 1){
                            player.getPackets().sendPanelBoxMessage("Not enough players logged in.");
                        } else {
                            Dm.initiative();
                            player.getPackets().sendPanelBoxMessage(Dm.playersName + " and initiative roll: " + Integer.toString(Dm.initRoll));

                        }

                    }

                return true;
DM.java
包com.rs.game.player;
导入com.rs.game.player。*;
导入com.rs.game.World;
导入java.util.array;
/**
*由Kevinpro0于2015年3月1日创建。
*/
公共类Dm{
公共静态骰子初始化=新骰子();
public static int worldSize=World.getPlayers().size();
public static int[]playerlint=new int[worldSize];
//
公共静态播放器;
公共静态int initRoll=init.die20;
公共静态字符串播放器名称;
公共静态int i=1;
公共空间倡议{
对于(i=1;i如果(World.getPlayers().size()在这一行
publicstatic int initRoll=init.die20;
中,您指的是'die20'的值,但直到很久以后,在for循环中,当您说
init.d20()
时,它才被设置。我希望这对您有所帮助,尽管我认为您的代码也需要在其他领域工作