2016-06-20 6 views
-3

これは、ユーザーからの値を取った2D配列です。私にNullPointerExceptionエラーを出しました。 btw私は初心者ですので、より詳細にすることができます。おかげ2D配列のエラー

public static void main(String[] args) { 
    java.util.Scanner scan = new Scanner(System.in); 
    int[][] matrix = null; 
    System.out.println("Enter " + matrix.length + " rows and " + 
      matrix[0].length + " columns: "); 

    for (int row = 0; row < matrix.length; row++) { 

     for (int column = 0; column < matrix[row].length; column++) { 

      matrix[row][column] = scan.nextInt(); 

     } 
    } 
} 

エラー

Exception in thread "main" java.lang.NullPointerException 
+2

を '私が時間ERROR'を実行しただ - やるいるエラースタックトレースはどのように見えますか? –

+3

行列の配列を正しく初期化していないため、NullPointerExceptionが発生しているようです。 – Gildraths

+3

http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it – Tom

答えて

0

あなたはexempleのためにそのようなあなたの行列の大きさを定義する必要があります。

public static void main(String[] args) { 
    java.util.Scanner scan = new Scanner(System.in); 
    int n, m; 
    n = scan.nextInt(); 
    m = scan.nextInt(); 
    int[][] matrix = new int[n][m]; 
    System.out.println("Enter " + matrix.length + " rows and " 
      + matrix[0].length + " columns: "); 

    for (int row = 0; row < matrix.length; row++) { 

     for (int column = 0; column < matrix[row].length; column++) { 

      matrix[row][column] = scan.nextInt(); 

     } 
    } 
} 
+0

助けていただきありがとうございますが、ユーザーに長さを入力してもらいたい – Sohaib

+0

私の投稿を編集してください –

+0

私の問題を解決してくれてありがとうYoucef本当にありがとうございます – Sohaib