Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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
Java 如何将实例化变量与其他变量区分开来?_Java - Fatal编程技术网

Java 如何将实例化变量与其他变量区分开来?

Java 如何将实例化变量与其他变量区分开来?,java,Java,这是我的密码: Piece grille[][] = new Piece[9][9]; grille[0][0] = new Piece(1,joueur1,0); grille[8][0] = new Piece(1,joueur2,0); grille[0][8] = new Piece(1,joueur2,0); grille[8][8] = new Piece(1,joueur1,0); gr

这是我的密码:

        Piece grille[][] = new Piece[9][9];
        grille[0][0] = new Piece(1,joueur1,0);
        grille[8][0] = new Piece(1,joueur2,0);
        grille[0][8] = new Piece(1,joueur2,0);
        grille[8][8] = new Piece(1,joueur1,0);
        grille[0][1] = new Piece(3,joueur2,1);
        grille[1][0] = new Piece(3,joueur2,1);
        grille[1][1] = new Piece(3,joueur2,1);
        grille[7][0] = new Piece(3,joueur1,2);
        grille[7][1] = new Piece(3,joueur1,2);
        grille[8][1] = new Piece(3,joueur1,2);
        grille[7][7] = new Piece(3,joueur2,3);
        grille[7][8] = new Piece(3,joueur2,3);
        grille[8][7] = new Piece(3,joueur2,3);
        grille[0][7] = new Piece(3,joueur1,4);
        grille[1][7] = new Piece(3,joueur1,4);
        grille[1][8] = new Piece(3,joueur1,4);
        grille[3][4] = new Piece(2,joueur1,0);
        grille[5][4] = new Piece(2,joueur2,0);

        for(int i=0; i<9; i++){
            for(int j=0;j<9;j++){
                if(grille[i][j].joueur == null)
                    grille[i][j] = new Piece(0, null,0); //0 correspond a case vide
            }
        }
这个错误似乎来自于:
grill[i][j].jouer==null

我得到这个错误:

Citadella的线程“main”java.lang.NullPointerException中存在异常。(Citadella.java:35)Partie.main(Partie.java:8)


代码的问题是数组中有空点。循环将进行盲呼叫,
格栅[0][0]。焦耳
然后
格栅[0][1]。焦耳
然后
格栅[0][2]
。因为您没有分配
grill[0][2]
它是空的。因此,您的空指针异常。

我想您想要
如果grill[I][j]==null,而不是取消对它的引用。

您得到了什么错误?哪个错误?Citadella的线程“main”java.lang.NullPointerException(Citadella.java:35)Partie.main(Partie.java:8)中的stacktrace?异常在哪里?另外,在进行盲调用之前,看起来并没有分配所有位置。它可能是.jouer上的NPE。您正试图从空对象访问
.jouer
。在检查它的属性是否为null之前,应该先检查
if(grill[i][j]==null)
public int type;    
public Joueur joueur;
public int param;