Вроде как если несколько максимальных, где бы они не были, выводит правильно.
package com.javarush.task.task04.task0419;
/*
Максимум четырех чисел
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String number1 = reader.readLine();
int a = Integer.parseInt(number1);
String number2 = reader.readLine();
int b = Integer.parseInt(number2);
String number3 = reader.readLine();
int c = Integer.parseInt(number3);
String number4 = reader.readLine();
int d = Integer.parseInt(number4);
CheckLight(a,b,c,d);
}
public static void CheckLight(int w, int f, int j, int k) {
if (w > f && w > j && w > k) { // если w = max
System.out.println(w);
}
else if (f > w && f > j && f > k) { // если f = max
System.out.println(f);
}
else if (j >w && j > f && j > k) { // если j = max
System.out.println(j);
}
else if (k > w && k > f && k > j) { // если k = max
System.out.println(k);
}
else if (w == f && w ==j && w ==k) { // если все числа равны
System.out.println(w);
}
else if (w != f && w==j || w==k) { // если w и j or w и k = max
System.out.println(w);
}
else if (w == f && w!=j) { // если w и f = max
System.out.println(w);
}
else if (f == j || f ==k) { // если w и f = max
System.out.println(f);
}
else if (j==k) {
System.out.println(j);// если j и k = max
}
}
}