JavaRush
AI Academy
new
Акция
Университет
Java FullStack
Python FullStack
AI Native Developer
new
Web FullStack
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема
Вопрос
  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Все вопросы
JavaRush/Помощь по Java задачам/Программа все правильно выводит на консоль. Почему задача...
oretinio
8 уровень
  • 10.06.2020
  • 600просмотров
  • 12комментариев

Программа все правильно выводит на консоль. Почему задача не проходит проверку?

Вопрос по задаче Четные, нечетные
Java Syntax,  6 уровень,  5 лекция
Обсуждается


Ввести с клавиатуры положительное число. Определить, сколько в введенном числе четных цифр, а сколько нечетных.
Если число делится без остатка на 2 (т. е. остаток равен нулю), значит оно четное.
Увеличиваем на 1 счетчик четных цифр (статическая переменная even).
Иначе число нечетное, увеличиваем счетчик нечетных цифр (статическая переменная odd).
Вывести на экран сообщение: "Even: а Odd: b", где а - количество четных цифр, b - количество нечетных цифр.

Пример для числа 4445:
Even: 3 Odd: 1

Требования:
  • Программа должна считывать данные с клавиатуры.
  • Метод main должен посчитать сколько четных цифр во веденном числе и записать это количество в переменную even.
  • Метод main должен посчитать сколько нечетных цифр во веденном числе и записать это количество в переменную odd.
  • Программа должна выводить текст на экран.
  • Выведенный текст должен соответствовать заданию.
....
package com.javarush.task.task06.task0606; /* Чётные и нечётные циферки */ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Solution { public static int even; public static int odd; public static void main(String[] args) throws IOException { //напишите тут ваш код BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); int x = Integer.parseInt(buf.readLine()); while (x>0) { if (x % 2 == 0) even++; else odd++; x = x / 10; } System.out.print("Even: "+even+++" "+ "Odd: "+odd++); } }
+1
Комментарии (12)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
qwerty123
Уровень 18
10 июня 2020, 12:28
Для 4х значного числа цикл с int сработает только 3 раза. Первую цифру нужно проверять отдельно
0
oretinio
Уровень 8
10 июня 2020, 12:35
Все правильно программа считает и выводит при вводе любых чисел...и 4х значных и 5 и т.д
0
Crawler
Уровень 26
10 июня 2020, 12:15
Условие в цикле я бы проверил при вводе отрицательного числа. Обрати внимание на свой вывод, ты очень много инкрементируещь переменные.
0
oretinio
Уровень 8
10 июня 2020, 12:31
Изменил условие цикла на (х!=0). Теперь есть вывод при вводе отрицательного числа. НО как было 2 и 3 условия -не выполняются, так и осталось...
0
Crawler
Уровень 26
10 июня 2020, 12:37полезный
Обрати внимание на свои переменные even и odd в выводе. Валидатор не Кхорн.
+1
oretinio
Уровень 8
10 июня 2020, 12:39
Что такое Кхорн?
0
oretinio
Уровень 8
10 июня 2020, 12:45
Наконец то, дошло….Если бы не этот "Кхорн" ….Блин, потратил 6 попыток. Спасибо за Кхорн.))
0
hidden #598481
Уровень 27
10 июня 2020, 12:47
Ты после вывода увеличиваешь свои переменные еще раз. И возможно валидатор этого не учитывает, но еще твоя программа не умеет работать с нулем. В записи числа "0" участвует одна четная цифра - собственно, ноль. То есть вывод должен быть такой:
Even: 1 Odd: 0
0
oretinio
Уровень 8
10 июня 2020, 12:57
Вводим число 70896 Even: 3 Odd: 2 Все правильно! А вот если: 07896 Even: 2 Odd: 2 Ноль не считает программа только в этом случае. Но это не повлияло. После того, как я исправил свой вывод на("Even: "+even+" "+ "Odd: "+odd); - задача была принята. Именно здесь была собака зарыта...
0
hidden #598481
Уровень 27
10 июня 2020, 13:04
Нет, ты не понял. 07896 - это понятно, это не ошибка. Я имел в виду ввести просто "0". Без "7896".
0
oretinio
Уровень 8
10 июня 2020, 13:10
Да, ты прав. Но задача засчитана почему-то...
0
Aleks
Уровень 17
18 июня 2020, 14:09
так что за Кхорн?!)
0
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush