Решил задачу, но решил быть аккуратным и внимательным и выполнить условие "Вывести на экран сообщение: "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);
}
}