Максимальное число выводиться 2 раза, потому что сначала выполняется If который подходит, а потом еще и else, почему так? Else же должен выполняться только если не выполнился ни один из if.
package com.javarush.task.task04.task0419;
import java.util.Scanner;
/*
Максимум четырех чисел
*/
public class Solution {
public static void main(String[] args) throws Exception {
Scanner asd = new Scanner (System.in);
int a,b,m,d;
a = asd.nextInt();
b = asd.nextInt();
m = asd.nextInt();
d = asd.nextInt();
if (a>b && a>m && a>d)
System.out.println(a);
if (b>a && b>m && b>d)
System.out.println(b);
if (m>a && m>b && m>d)
System.out.println(m);
if (d>a && d>b && d>m)
System.out.println(d);
else
System.out.println (Math.max (Math.max (a,b), Math.max(m,d)));
}
}