package com.javarush.test.level04.lesson07.task02;
/* Строка - описание
Ввести с клавиатуры целое число в диапазоне 1 - 999. Вывести его строку-описание следующего вида:
«четное однозначное число» - если число четное и имеет одну цифру,
«нечетное однозначное число» - если число нечетное и имеет одну цифру,
«четное двузначное число» - если число четное и имеет две цифры,
«нечетное двузначное число» - если число нечетное и имеет две цифры,
«четное трехзначное число» - если число четное и имеет три цифры,
«нечетное трехзначное число» - если число нечетное и имеет три цифры.
Если введенное число не попадает в диапазон 1 - 999, в таком случае ничего не выводить на экран.
Пример для числа 100:
четное трехзначное число
Пример для числа 51:
нечетное двузначное число
*/
import java.io.*;
public class Solution
{
public static void main(String[] args) throws Exception
{
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
if ((a >=1) && (a <=999))
{
if (a%2 ==0)
{
if (a < 10)
System.out.println("четное однозначное число");
if ((a >9) && (a <100 br=""> System.out.println("четное двузначное число");
if ((a >99) && (a <999 br=""> System.out.println("четное трехзначное число");
}
else
{
if (a < 10)
System.out.println("нечетное однозначное число");
if ((a >9) && (a <100 br=""> System.out.println("нечетное двузначное число");
if ((a >99) && (a <999 br=""> System.out.println("нечетное трехзначное число");
}
}
}
}999>100>999>100>
Объяснение : сначала отсекаем числа вне диапазона. Потом рассматриваем вариант четности, в нем уже разряд числа. Точно также вариант нечетности.
/* Строка - описание
Ввести с клавиатуры целое число в диапазоне 1 - 999. Вывести его строку-описание следующего вида:
«четное однозначное число» - если число четное и имеет одну цифру,
«нечетное однозначное число» - если число нечетное и имеет одну цифру,
«четное двузначное число» - если число четное и имеет две цифры,
«нечетное двузначное число» - если число нечетное и имеет две цифры,
«четное трехзначное число» - если число четное и имеет три цифры,
«нечетное трехзначное число» - если число нечетное и имеет три цифры.
Если введенное число не попадает в диапазон 1 - 999, в таком случае ничего не выводить на экран.
Пример для числа 100:
четное трехзначное число
Пример для числа 51:
нечетное двузначное число
*/
import java.io.*;
public class Solution
{
public static void main(String[] args) throws Exception
{
//напишите тут ваш код
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(reader.readLine());
if ((a >=1) && (a <=999))
{
if (a%2 ==0)
{
if (a < 10)
System.out.println("четное однозначное число");
if ((a >9) && (a <100 br=""> System.out.println("четное двузначное число");
if ((a >99) && (a <999 br=""> System.out.println("четное трехзначное число");
}
else
{
if (a < 10)
System.out.println("нечетное однозначное число");
if ((a >9) && (a <100 br=""> System.out.println("нечетное двузначное число");
if ((a >99) && (a <999 br=""> System.out.println("нечетное трехзначное число");
}
}
}
}999>100>999>100>
Объяснение : сначала отсекаем числа вне диапазона. Потом рассматриваем вариант четности, в нем уже разряд числа. Точно также вариант нечетности.
Решил поиграться и сделать тоже самое несколько иначе
ОтветитьУдалитьpackage skolkoznakov;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String string = bufferedReader.readLine();
long b = Long.parseLong(string);
boolean bul = true;
if (b % 2 == 0) {
bul = true;
} else if (b % 2 == 1) {
bul = false;
}
String s1 = null;
if (bul == true) {
s1 = "Четное число";
} else if (bul == false) {
s1 = "Не четное число";
}
char[] chars = string.toCharArray();
long i = chars.length;
System.out.println(string + " " + s1 + " " + chars.length + " знаков");
}
}
1. вводимое число записывается в строку
ОтветитьУдалить2. строка парсится в лонг или инт
3 В строку s1 вводится результат проверки на четность\нечетность
4 строка преобразуется в массив чаров и выясняется колличество знаков в числе через метод length
5 собирается строка
Еще один вариант решения, возможно более понятный новичку)
ОтветитьУдалитьif ((a > 0) & (a < 10) & (a%2)==0 ) {
System.out.println("четное однозначное число");
} else if ((a > 0) & (a < 10) & !((a%2)==0)) {
System.out.println("нечетное однозначное число");
}
if ((a > 9) & (a < 100) & (a%2)==0){
System.out.println("четное двузначное число");
} else if ((a > 9) & (a < 100) & !((a%2)==0)){
System.out.println("нечетное двузначное число");
}
if ((a > 99) & (a < 1000) & (a%2)==0){
System.out.println("четное трехзначное число");
} else if ((a > 99) & (a < 1000) & !((a%2)==0)){
System.out.println("нечетное трехзначное число");
}