Как проверить сколько четных-нечетных цифр в числе введенном с клавиатуры

96
01 мая 2021, 19:50

Допустим при вводе числа 41235 чтобы выдало, что четных чисел в числе 2, нечетных 3.

Answer 1

Быстрое и понятное решение без преобразований и лишних аллокаций

    String s = "41235";
    int odd = 0, even = 0;
    for (int i = 0; i < s.length(); i++)
        if ((s.charAt(i) - '0') % 2 == 0) even++;
        else odd++;
    System.out.println("odd: "  + odd + " even: " + even);

Вывод

odd: 3 even: 2
Answer 2
String s = "41235";
Map<Boolean, List<Integer>> r = s.chars()
                                 .filter(Character::isDigit)
                                 .map(c -> Character.digit(c, 10))
                                 .boxed()
                                 .collect(Collectors.partitioningBy(i -> i % 2 == 0));
System.out.println("Чётных: " + r.get(true).size());
System.out.println("Нечётных: " + r.get(false).size());

или

String s = "41235";
int even = 0;
int odd = 0;
for (String n : s.split("")) {
    if (Integer.valueOf(n) % 2 == 0)
        even++;
    else
        odd++;
}
System.out.println("Чётных: " + even);
System.out.println("Чётных: " + odd);
Answer 3
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    int count = Integer.parseInt(reader.readLine());
    
    while (count > 0) {
        if (count % 2 ==0) {
            even++;
        }
            else
            {
            odd++;
            }
            count = count / 10;
        }
        System.out.println("Even: " + even + " Odd: "+ odd);
Answer 4
Scanner scanner = new Scanner(System.in);
    int a = scanner.nextInt();
    for (int i = 1; a/i > 0; i *= 10) {
        if ((a / i) % 2 == 0)
            even++;
        else
            odd++;
    }
    System.out.println("Even: " + even + " Odd: " + odd);
READ ALSO
grpc один netty на несколько микросервисов

grpc один netty на несколько микросервисов

У себя в коде я создаю netty на определенный порт и регистрирую сервис:

127
Загрузка данных с Firebase в RecyclerView

Загрузка данных с Firebase в RecyclerView

Я получаю изображение с БД Fibase и вывожу его через RecyclerViewВсе нормально, но т

88
Комбинация нескольких методов в RXJava2

Комбинация нескольких методов в RXJava2

Дело в том, что мне необходимо одновременно подтягивать данные из локальной базы, с сервера, при этом проверять подключение к интернету

81
В чем может быть проблема? ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer

В чем может быть проблема? ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer

Пытаюсь сделать helloworld RESTful web-service, но постоянно вылетает одна и та же ошибка: "javalang

150