-2

重複の可能性:
オブジェクトのクラスと配列 - 'null' を返すのはなぜですか? [ジャワ]

同様のタイトルの他の質問にはすべて、データを初期化する必要があるという回答がありますが、これは私が行ったものですが、まだヌルポインター例外が発生しています。誰か教えてくれませんか?

    public class grid{
private Node [][] board = new Node [9][9];

public boolean add(int x, int y, char label) {
    boolean valid=true;

    System.out.println("enter add");
    if(label==' '){
        System.out.println("enter if 1");
        board[x][y].setValue('0');
    }
    else if(label<='9'&&label>'0'){
        System.out.println("enter if 2");
        board[x][y].setValue(label);
    }
    else{
        valid=false;
    }
    if(valid)
        System.out.println("valid");
    return valid;
}

setValue 行 (10 および 14) でエラーが発生します。

    public class Node{
public char value;
public char []  possibleValues = {1,2,3,4,5,6,7,8,9};
public boolean correct=false;
    }

編集:他の誰かが同じ問題を抱えている場合、これで解決するようです。

    if(label==' '){
        System.out.println("enter if 1");
        board[x][y]= new Node(' ');
    }
    else if(label<='9'&&label>'0'){
        System.out.println("enter if 2");
        board[x][y]= new Node(label);
    }
4

1 に答える 1

1

配列は、配列の要素を初期化しません。したがって、それぞれboard[x][y]が最初はnull.

于 2013-01-19T19:05:18.247 に答える