package com.javarush.task.task04.task0427;
/*
Описываем числа
*/
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String a = reader.readLine();
int x = Integer.parseInt(a);
int l = a.length();
double y = (x%2);
while (x>=1 && x<=999)
if (y==0 && l==1)
System.out.println("четное однозначное число");
else if (y!=0 && l==1)
System.out.println("нечетное однозначное число");
else if (y==0 && l==2)
System.out.println("четное двузначное число");
else if (y!=0 && l==2)
System.out.println("нечетное двузначное число");
else if (y==0 && l==3)
System.out.println("четное трехзначное число");
else if (y!=0 && l==3)
System.out.println("нечетное трехзначное число");
//напишите тут ваш код
}
}
Николай
29 уровень
Подскажите, что не так?
Архивный
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Anatoly Knizhentsev
16 декабря 2019, 11:03
int l = a.length();
double y = (x%2);
while (x>=1 && x<=999)
Это всё лишнее.
В if мы сразу можем проверить диапазон чисел и их четность.
Четность числа проверяется так:
x%2==0 - если число делиться на 2 без остатка, значит оно четное, x%2 !=0 - если число делится на 2 с остатком, значит оно нечетное.
0
Ksenia Volkova Java Developer в DXC Master
16 декабря 2019, 09:19решение
???
Зачем тут цикл, да еще и бесконечный? +2
Николай
16 декабря 2019, 09:47
Убрал цикл, сделал первый if таким (y==0 && l==1 && x>=1 && x<=999).
Или можно было сделать удачнее?
0
Ksenia Volkova Java Developer в DXC Master
16 декабря 2019, 09:53
А валидатор принял в таком виде?
У тебя так отрицательные числа проскакивать будут.
0
Николай
16 декабря 2019, 11:23
Да принял, я и не понял почему.
0