Как Вывести значение, которое дало "true" в "исключающем или"
В этом коде предлагается ввести три значения, если два числа из трех равны, то их нужно вывести на экран. Как понять какое из трех равенств возвратило "true"?
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
if ( a==b ^ a==c ^ b==c ) \\ как понять какое из трех равенств возвратило "true"
System.out.println( );
Ответы (2 шт):
Автор решения: becouse
→ Ссылка
Нужно несколько условий
if ( a==b && a!=c) {
System.out.println(a);
System.out.println(b);
}
if ( a==c && a!=b) {
System.out.println(a);
System.out.println(c);
}
if ( c==b && a!=c) {
System.out.println(b);
System.out.println(c);
}
Автор решения: Miron
→ Ссылка
Возвращает номер выражения:
public static int XOR(boolean... booleans){
int trueNumber = -1;
for(int i = 0; i < booleans.length; i++){
if(booleans[i]){
if(trueNumber == -1){
trueNumber = i + 1;
} else {
return -1;
}
}
}
return trueNumber;
}
Если xor == false, то возвращает -1