#java #arrays
Вопрос:
здравствуйте, ребята, я изо всех сил пытаюсь найти правильный способ печати только четных чисел массива.
Я создал массив 1 размера, чтобы сохранить элемент столбцов, а затем убедиться, что индекс col%2==0
этого числа указан в выходных данных.
import java.util.Scanner;
public class Matrix {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//array with 3 row in 5 col
int[][] matrix = new int[3][5];
//int []y = new int[5];
// to impalement th array
for (int i = 0; i < 3; i ) {
for (int j = 0; j < 5; j ) {
System.out.print("Enter matrix[" i "][" j "]: ");
matrix[i][j] = input.nextInt();
}
System.out.print("n");
}
System.out.print("matrix values n");
// to show up the originally array
for (int i = 0; i < 3; i ) {
for (int j = 0; j < 5; j ) {
System.out.print(matrix[i][j] "t");
}
System.out.print("n");
}
//////the new array to display only the even numbers in the col
System.out.print("n");
for (int i = 0; i < 3; i ) {
for (int j = 0; j < 5; j ) {
int[] y = matrix[j];
for (int k = 0; i < y.length; i ) {
if (y[k] % 2 == 0)
System.out.println(y[k]);
}
}
}
}
}
на выходе не выводится новый массив
matrix values
1 2 3 4 5
6 7 8 9 10
3 2 4 5 9
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
at Matrix.main(Matrix.java:43)
Ответ №1:
i
Заменить k
здесь :
for (int j = 0; j < 5; j ) {
int[] y = matrix[j];
for (int k = 0; i < y.length; i ) {
if (y[k] % 2 == 0)
System.out.println(y[k]);
}
}