Как, в данном случае, работает & в if?
Почему при написании программы, которая бы сравнивала отдельные элементы массива и выводила самое большое значение, у меня в итоге последнее значение как будто не учитывается значение. В результате мне пишет MaxNumber - 5, хотя должно быть MaxNumber - 9.
public class Main {
public static void main(String[] args) {
int array [] = {-7, 5, -1, 3, 9,};
if (array[0]>(array[1] & array[2] & array[3] & array [4])) {
System.out.println("Max Number - " + array[0]);
int MaxNumber = array[0];
}
else if (array[1]>(array[0] & array[2] & array[4] & array [3])) {
System.out.println("Max Number - " + array[1]);
int MaxNumber = array[1];
}
else if (array[2] > (array[0] & array[1] & array[3] & array [4])) {
System.out.println("Max Number - " + array[2]);
int MaxNumber = array[2];
}
else if (array[3] > (array[0] & array[2] & array[1] & array[4])) {
System.out.println("Max Number - " + array[3]);
int MaxNumber = array[3];
}
else if (array[4] > (array[0] & array[2] & array[3] & array [1])) {
System.out.println("Max Number - " + array[4]);
int MaxNumber = array[4];
}
}
}
Ответы (1 шт):
Автор решения: Arty Morris
→ Ссылка
Перепишите условие
if ((array[0]>array[1]) && (array[0]>array[2]) && (array[0]>array[3]) && (array[0]>array[4]))
Но вы как-то сложным путём пошли. Можно проще. Да и есть команды, для определения максимального числа с массиве