Добрый день.
Проверила свое решение несколькими положительными и отрицательными числами, все (казалось бы) по красоте, количество четных и нечетных чисел считается правильно.
Но валидатор мне пишет, что не выполнены следующие условия:
"Метод main должен посчитать сколько нечетных цифр во веденном числе и записать это количество в переменную odd.
Выведенный текст должен соответствовать заданию."
От ментора еще есть рекомендации:
"Убедись, что в переменную odd сохраняется количество именно нечетных цифр. Возможно, ты сохраняешь количество четных цифр."
Не могу понять, что же ему не нравится)
package com.javarush.task.task06.task0606;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/*
Чётные и нечётные циферки
*/
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));
double t = Double.parseDouble(reader.readLine()); // ВВОЖУ ЧИСЛО С КЛАВИАТУРЫ. НАПРИМЕР, 85
double res = Math.abs(t); // БЕРУ ЕГО МОДУЛЬ, ЧТОБЫ ИЗБЕЖАТЬ ОШИБОК, ЕСЛИ ЧИСЛО ОТРИЦАТЕЛЬНОЕ
int i = 0;
while (i <= res){
if (res % 2 == 0) // ЕСЛИ ЧИСЛО ДЕЛИТСЯ БЕЗ ОСТАТКА НА 2, УВЕЛИЧИВАЮ СЧЕТЧИК ЧЕТНЫХ ЧИСЕЛ НА ОДИН
even++;
if (res % 2 != 0) // ЕСЛИ ЧИСЛО НЕ ДЕЛИТСЯ БЕЗ ОСТАТКА НА 2, УВЕЛИЧИВАЮ СЧЕТЧИК НЕЧЕТНЫХ ЧИСЕЛ НА ОДИН
odd++;
res = res/10; // ДЕЛЮ ВВЕДЕННОЕ ЧИСЛО 85 НА 10, ПОЛУЧАЮ 8.5
res = (int)res; // ПРИВОЖУ 8.5 К ЦЕЛОМУ ЧИСЛУ 8, ОПЯТЬ ДАЛЕЕ ПО ЦИКЛУ ПРОВЕРЯЮ ПОЛУЧИВШЕЕСЯ ЗНАЧЕНИЕ НА ЧЕТНОСТЬ И НЕЧЕТНОСТЬ
i++;
}
System.out.print("Even: " + even);
System.out.println(" Odd: " + odd);
}
}