package com.javarush.task.task06.task0606;
/*
Чётные и нечётные циферки
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
//import java.nio.Buffer;
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 a;
String s;
s = reader.readLine();
a = Double.parseDouble(reader.readLine());
if (a > 0) {
even =0;
odd = 0;
int calc = s.length();
for (int j = calc; j > 0; j--){
double k = a/Math.pow(10,j-1);
double k1 = (int)k;
double res = k1%2;
if (res == 0){
even = even +1;
}
else odd = odd +1;
double k2 = a - (k1 * Math.pow(10,j-1));
a = k2;
}
System.out.println("Even:" + even + " Odd" + odd);
}
//напишите тут ваш код
}
}
Анна
10 уровень
Неверные вычисления и проблемы с вводом данных(
Решен
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Лиc
17 июля 2020, 23:09
1.Тип double здесь не нужен, достаточно int.
2.Переменные "even" и "odd" уже объявлены в классе.
3. Что программа выведет, если введённое число равно нулю?
+1
Denis
17 июля 2020, 19:29
Не нужен тут Double.parse..... Integer.parseInt нужен. И почитай внимательней в задании что если делится на четное число без остатка то четное если нет, нечетное. Прочитай про "Деление по модулю"
+1
Анна
20 июля 2020, 08:03
Спасибо, разобралась)
0
НикитаExpert
17 июля 2020, 19:29
вы здесь два раза число считываететс клавиатуры, во второй строчке, нужно преобразовать переменную s.
+1
Анна
20 июля 2020, 08:04
Спасибо! Все получилось)
0