В чем причина? Вроде правильно все работает.
package com.javarush.task.pro.task04.task0408;
import java.util.Scanner;
/*
Максимум из введенных чисел
*/
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int max = Integer.MIN_VALUE ;
while(scanner.hasNextInt()){
int x = scanner.nextInt();
if (x % 2 == 0 && x > max) {
max = x;
} else if (x % 3 == 0){
max = Integer.MIN_VALUE;
}
}
System.out.println(max);
}
}
else if (x % 3 == 0)
это вообще зачем? А если максимальное чётное число будет введено, например, 12?