По коду видно как я только не выступал - и переменная "public static int zero", и переменные a и b в конце. Но ошибка для меня совершенно непонятная - если ввести любое число с нулём, то вместо того чтобы правильно распределить цифры по чётным и нечётным, программа выдаёт "каждому по труду", а именно распределяет поровну между even и odd:
Ввожу: 342791
Получаю: even: 2 odd: 4
Ввожу: 340791
Получаю: even: 3 odd: 3
В чём дело?
package com.javarush.task.task06.task0606;
import java.io.*;
/*
Чётные и нечётные циферки
*/
public class Solution {
public static int even = 0;
public static int odd = 0;
public static int zero = 0;
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
int x = Integer.parseInt(s);
int l = s.length();
int i = l - 1; // О надобности вычитания единицы смотреть в 23 строке
for(; i >= 0; i--){
int a = (x / 10^i);
if (a % 2 == 0)
even++;
else
odd++;
}
int a = even;
int b = odd;
System.out.println("Even: " + a + " Odd: " + b);
}
}