если массив {true, true, true} result = true; если массив {true, false, true} result = false;
public static boolean mono(boolean[] data) {
boolean result = true;
for (int i = 0; i < data.length; i++) {
if (data[i] == data[0]) {
result = true;
} else {
result = false;
}
}
return result;
}
public static void main(String[] args) {
boolean[] a = {true,false,true};
System.out.println(mono(a));
}
но в моем коде мравнивается последний элемент, что я делаю не так?
По-моему тут требуется проверить не равенство элементов массива, а то, что все эти элементы - true. Например так:
public static boolean checkAllTrue(boolean... all) {
boolean result = all != null && all.length > 0;
for (int i = 0, j = result ? all.length : 0; i < j && (all[i] || (result = false)); i++);
return result;
}
Проверка на равенство всех элементов массива:
public static boolean mono(boolean[] data) {
for (int i = 1; i < data.length; i++) {
if (data[i] != data[i - 1])
return false;
}
return true;
}
public static void main(String[] args) {
boolean[] a = {true,false,true};
System.out.println(mono(a));
}
public boolean mono(boolean[] data) {
boolean result = true;
for (int i = 0; i < data.length; i++) {
if (data[i] != data[0]) {
result = false;
break;
}
}
return result;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости