2016-06-20 3 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

Смежные вопросы