В данном случае я читаю строку и перевожу её в массив char[]. Но мне кажется можно решить это дело как-то более элегантно, к примеру, считывая строку по байтам и сразу проверяя кратность двум... Какие есть идеи? Решения (в виду правил ресурса) присылайте в личные сообщения :)
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 br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        char[] nums = input.toCharArray();

        for (Character c : nums) {
            int num = Integer.parseInt(c.toString());
            //код, который скрыт, чтобы не выкладывать готовое решение.
        }

        System.out.println("Even: " + even + " Odd: " + odd);
    }
}