Вам понадобится вложенное значение для l oop для итерации по матрице и счетчик, чтобы увидеть, сколько записей вы напечатали. Давайте начнем с самой простой части: итерации по матрице. Я предполагаю, что матрица просто называется matrix
.
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.println(matrix[i][j]);
}
}
Вы, наверное, уже поняли это. Теперь нам нужен счетчик, чтобы посчитать, сколько раз мы распечатали запись из матрицы.
int num_printed = 0;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.println(matrix[i][j]);
num_printed ++;
}
}
Хорошо. Так что теперь нам нужно остановиться, как только мы достигнем конца. Мы не можем просто использовать один оператор break
, потому что у нас есть два цикла for.
int num_printed = 0;
for (int i = 0; i < matrix.length; i++) { // iterate over the rows
for (int j = 0; j < matrix[i].length; j++) { // iterate over the columns
if (num_printed == 5) { // if we've already printed five items, stop
break;
} else { // otherwise, print the next item
System.out.println(matrix[i][j]);
num_printed ++; // increment the counter
}
}
if (num_printed == 5) { // so that we don't go to the next row
break;
}
}
Стоит отметить, что вы можете создать свой собственный отдельный метод и использовать только оператор return:
public void print_five_elements() {
int num_printed = 0;
for (int i = 0; i < matrix.length; i++) { // iterate over the rows
for (int j = 0; j < matrix[i].length; j++) { // iterate over the columns
if (num_printed == 5) { // if we've already printed five items, stop
return;
} else { // otherwise, print the next item
System.out.println(matrix[i][j]);
num_printed ++; // increment the counter
}
}
}
}
Более специализированный подход
Этот подход позволяет использовать матрицы, имеющие менее пяти столбцов. Однако, так как ваша матрица 2000x2000, вы можете go для гораздо более простого подхода. Используйте ноль в качестве первого индекса, а затем просто повторяйте до пяти. Просто помните, что это не сработает, если у вас меньше пяти столбцов:
public void print_five_elements_for_wide_matrix() {
for (int i = 0; i < 5; i++) {
System.out.println(matrix[0][i]);
}
}