Имеется задание, в котором нужно проверить каждый массив на упорядоченность строго на убывание. Если он упорядочен - true.
почему на matrix[0][1] , когда идет сравнение с matrix[0][2] - цикл не прекращает свое сравнение, а проверяет дальше следующие массивы {5, 4, 3}, {8, 7, 6}}. Хотя я специально обозначил, что в случае нарушения убывания значений элементов массива - пойдет break.
public static void main(String[] args) throws Exception{
int[][] matrix = {{3, 2, 2}, {5, 4, 3}, {8, 7, 6}};
int bolshe;
boolean isSortedDescendant = false;
if (matrix.length == 0){
isSortedDescendant = true;
} else {
for (int i = 0; i < matrix.length; i++) {
bolshe = matrix[i][0];
for (int j = 0; j < matrix[i].length-1; j++) {
if (bolshe > matrix[i][j+1]) {
bolshe = matrix[i][j+1];
isSortedDescendant = true;
} else if (bolshe <= matrix[i][j+1]){
isSortedDescendant = false;
break;
}
}
}
}
System.out.println(isSortedDescendant);
}
}
Обратите внимание, что у вас вложенный цикл.
При использовании внутри набора вложенных циклов оператор break будет выходить только из самого внутреннего цикла.
Для решения данной задачи стоит воспользоваться метками break outer;
public static void main(String[] args) throws Exception{
int[][] matrix = {{3, 2, 2}, {5, 4, 3}, {8, 7, 6}};
int bolshe;
boolean isSortedDescendant = false;
if (matrix.length == 0){
isSortedDescendant = true;
} else {
outer: // Ставим метку
for (int i = 0; i < matrix.length; i++) {
bolshe = matrix[i][0];
for (int j = 0; j < matrix[i].length-1; j++) {
if (bolshe > matrix[i][j+1]) {
bolshe = matrix[i][j+1];
isSortedDescendant = true;
} else if (bolshe <= matrix[i][j+1]){
isSortedDescendant = false;
break outer; // Переходим к метке
}
}
}
}
System.out.println(isSortedDescendant);
}
Замечание: Break не проектировался в качестве нормального средства завершения цикла. Эту цель обслуживает условное выражение заголовка цикла. Оператор break следует использовать для прерывания цикла только тогда, когда возникают некоторые специальные ситуации.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости