@she3nro

Как найти все чётные числа в двумерном массиве и сохранить их в файл?

Здравствуйте, мне нужно найти все чётные числа в двумерном массиве и сохранить их в файл.
Написал вот такой код, но он не работает. Подскажите, пожалуйста, в чем дело и как исправить?
static void ex6(int[][] A, int n, int m) throws IOException {
       FileWriter fw = new FileWriter("ParCol.txt");
       int[][] posA = new int[n][m];

       for(int i = 0; i < A.length; i++) {
           for(int j = 0; j < A.length; j++) {
               if(A[i][j] % 2 == 0) {
                    posA[i][j] = A[i][j];
               }
           }
       }

       fw.write(n + " " + m + "\n");
       for(int i = 0; i < posA.length; i++) {
           for(int j = 0; j < posA[i].length; j++) {
               fw.write(posA[i][j] + " ");
           }
           fw.write("\n");
       }
}
  • Вопрос задан
  • 1023 просмотра
Пригласить эксперта
Ответы на вопрос 1
@fapsi
Безработный
1. Вложенный цикл у Вас некорректен.
Вместо for(int j=0;j <A.length; j++) нужно прописать for(int j=0 ;j<A[i].length; j++).
A.length для двумерного массива - это количество строк, а A[i].length - количество элементов в каждой i-й строке этого массива. То есть Вы сначала получаете строку в виде массива, потом перебираете каждый элемент полученного массива-строки.
2. Размерность массива A - исходя из п. 1. n = A.length, m = A[0].length. То есть можно так (при условии, что массив не пустой): int[][] posA=new int[A.length][A[0].length], и тогда параметры n и m не нужны.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы