Не сразу понял как решить легче - поэтому решил сложно. Т.е. делю/отсекаю не справа а слева.
Грубо говоря делю на порядок, оставляя цифру слева - определяю ее четность/нечетность. далее отсекаю от числа эту же цифру умноженную на порядок и т.д.
Все работает - но не пойму почему не проходит 2 и 3 пункты.
package com.javarush.task.task06.task0606;
/*
Чётные и нечётные циферки
*/
import java.io.*;
public class Solution {
public static int even;
public static int odd;
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String num = reader.readLine();
int num1 = Integer.parseInt(num);
int length = num.length();
int even = 0;
int odd = 0;
int b = 0;
for (int n = length;n>0;n--){
int a = (num1-b)/(int)Math.pow(10,(n-1));
if(((a%2)==0)&&(a!=0)) {
even++;
}
else {
if (a!=0) {
odd++;
}
}
b += a*(int)Math.pow(10,(n-1));
}
System.out.println("Even: "+even+" Odd: "+odd);
}
}