Deepak pandey Ответов: 1

Как продемонстрировать 2-d матрицу на java?


Проблема заключается в выводе, показывающем 1 ошибку, которую я не понимаю ..
Где же ошибка?

Что я уже пробовал:

import java.util.*;


 /*Please dont change class name, Dcoder 
 and class must not be public*/

 //Compiler version JDK 1.8
//output of the given matrix is  // 0 1 2 3 4
                                // 5 6 7 8 9
                                  10 11 12 13 14
                                 
 15 16 17 18 19
       
 class Dcoder
 { 
public static void main(String args[])
 { 

int I,j,k=0;

int A[][]=new int[4][];
for(I=0;I<4;I++){
for(j=0;j<5;j++){

A[I][j]= k;

k++;

}}

for(I=0;I<4;I++){
for(j=0;j<5;j++){
System.out.println("" + A[I][j]);

System.out.println(); 
}}
}
}

1 Ответов

Рейтинг:
7

OriginalGriff

Посмотрите на свой код:

int A[][]=new int[4][];
for(I=0;I<4;I++){
for(j=0;j<5;j++){

A[I][j]= k;

k++;

}}
И давайте начнем с того, что сделаем его немного более читабельным, не так ли?
int a[][] = new int[4][];
for(i = 0; i < 4; i++){
    for(j = 0; j < 5; j++){
        a[i][j] = k;
        k++;
    }
}
Будьте последовательны в именовании переменных: локальные переменные должны быть строчными, а не смешанными. сделайте правильный отступ! Это делает ваш код намного легче читаемым...
Вы объявляете 2D-массив, но указываете только один размер: таким образом, система не выделяет никакой памяти для "второго измерения". Нет памяти, и она не будет работать, когда вы попытаетесь получить к ней доступ.
Попробовать это:
int a[][] = new int[4][5];
Это поможет тебе продвинуться немного дальше.