Решил задачу, но решил быть аккуратным и внимательным и выполнить условие "Вывести на экран сообщение: "Even: а Odd: b", где а - количество четных цифр, b - количество нечетных цифр.", не even и odd, а именно a и b. Я решил после объявление публичных статических переменныъ even и odd, объявить переменные a и b (int a = even; и int b = odd;). После такого действия программа перестала работать, но после такого объявления над System.out.print("Even: " + a + " Odd: " + b);, все заработало. Объясните мне, пожалуйста, почему так и что мне стоит повнимательней почитать. Спасибо.
package com.javarush.task.task06.task0606;

import java.io.*;

/*
Чётные и нечётные циферки
*/

public class Solution {

    public static int even;
    public static int odd;
    // int a = even;
    // int b = odd;

    public static void main(String[] args) throws IOException {
        //напишите тут ваш код
        BufferedReader x1 = new BufferedReader(new InputStreamReader(System.in));
        int number = Integer.parseInt(x1.readLine());
        if (number<0){
            number = number * -1;
        }
        else { number = number;
        }
        int g = number;
        while(number>0){
        if(g%2==0){
            even++;
            number = number/10;
            g = number % 10;
        } else {
            odd++;
            number = number/10;
            g = number % 10;
        }
        }
        int a = even;
        int b = odd;
        System.out.print("Even: " + a + " Odd: " + b);
    }
}