что не так с максимальными числами? говорит что не выполняется условие ...
package com.javarush.task.task04.task0419;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Максимум четырех чисел
*/
public class Solution {
public static void main(String[] args) throws Exception {
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String number1 = reader.readLine();
String number2 = reader.readLine();
String number3 = reader.readLine();
String number4 = reader.readLine();
int a = Integer.parseInt(number1);
int b = Integer.parseInt(number2);
int c = Integer.parseInt(number3);
int d = Integer.parseInt(number4);
int x = Max1(a,b);
int y = Max2(b,c);
int z = Max3(c,d);
int v = Max4(a,c);
int w = Max5(a,d);
int e = Max6(b,d);
if (a > b & a > c & a > d) {
System.out.println(a);
}
else {
if (b > a & b > c & b > d) {
System.out.println(b);
}
else {
if (c > a & c > b & c > d) {
System.out.println(c);
}
else {
if (d > a & d > b & d > c) {
System.out.println(d);
}
else {
if (c == x | d == x | a == y | d == y | a == z | b == z | b == v | d == v | b == w | c == w | a == e | c == e) {
System.out.println(a);
}
}
}
}
}
}
public static int Max1(int a, int b){
if(a > b & a != b) return a;
else return b;
}
public static int Max2(int b, int c){
if(b > c & b != c) return b;
else return c;
}
public static int Max3(int c, int d){
if(c > d & c != d) return c;
else return d;
}
public static int Max4(int a, int c){
if(a > c & a != c) return a;
else return c;
}
public static int Max5(int a, int d){
if(a > d & a != d) return a;
else return d;
}
public static int Max6(int b, int d){
if(b > d & b != d) return b;
else return d;
}
}