Можете помочь с задачей на Java?

Четных больше Даны 3 целых числа. Требуется определить, есть ли среди этих чисел хотя бы два четных.

Входные данные Во входном потоке в единственной строке через пробел записаны 3 целых числа (−109≤x≤109).

Выходные данные Выведите true, если среди данных чисел есть хотя бы два четных, или false в противном случае.

Вот код:

import java.util.Scanner;

public class nameclass {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
double b = sc.nextDouble();
double c = sc.nextDouble();
boolean v = (a/2 || b/2 || c/2);
System.out.print(v);

}

}

Ответы (3 шт):

Автор решения: MBo

Вместо nextdouble стоит использовать nextInt, не так ли?

Сложите

a&1+b&1+c&1

и посмотрите на результат

boolean v = ((a&1)+(b&1)+(c&1)) < 2;
System.out.print(v);
→ Ссылка
Автор решения: Труфальдино
int  x1 = 14;
int  x2 = -28;
int  x3 = 97;
System.out.println(Integer.toBinaryString(x1).endsWith("0")
||Integer.toBinaryString(x3).endsWith("0") 
||Integer.toBinaryString(x3).endsWith("0"));

но думаю это не оптимальный путь

→ Ссылка
Автор решения: Vladimir Glinskikh

При помощи функциональных интерфейсов можно гибко фильтровать как тебе нужно.

    public class FindTwoEvenNumbers {
    public static boolean filterNumbers(List<Integer> inventory, NumberPredicate predicate) {
        boolean b = false;
        for (Integer i : inventory) {
            if (predicate.test(i)) {
                b = true;
            }
        }
        return b;
    }

    public static class NumbersEven implements NumberPredicate {
        int count;
        @Override
        public boolean test(Integer integer) {
            if (integer % 2 == 0) {
                count++;
            }
            return count >= 2;
        }
    }

    public interface NumberPredicate{
        boolean test(Integer integer);
    }
}

И тестируем:

class FindTwoEvenNumbersTest {

    @Test
    void filterNumbers() {
        assertTrue(FindTwoEvenNumbers.filterNumbers(Arrays.asList(2, 3, 4), new NumbersEven()));
        assertTrue(FindTwoEvenNumbers.filterNumbers(Arrays.asList(12, 20, 4), new NumbersEven()));
        assertTrue(FindTwoEvenNumbers.filterNumbers(Arrays.asList(3, 18, 2), new NumbersEven()));

        assertFalse(FindTwoEvenNumbers.filterNumbers(Arrays.asList(3, 5, 13), new NumbersEven()));
        assertFalse(FindTwoEvenNumbers.filterNumbers(Arrays.asList(3, 2, 17), new NumbersEven()));
        assertFalse(FindTwoEvenNumbers.filterNumbers(Arrays.asList(2, 13, 23), new NumbersEven()));
    }
}

Если хочешь запустить в методе main:

public static void main(String[] args) {
        List<Integer> lists = Arrays.asList(2, 5, 10);
        System.out.println(filterNumbers(lists, new NumbersEven()));
    }
→ Ссылка