четверг, 24 ноября 2016 г.

level04.lesson07.task02

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("нечетное трехзначное число");

            }
        }

    }
}

Объяснение : сначала отсекаем числа вне диапазона. Потом рассматриваем вариант четности, в нем уже разряд числа. Точно также вариант нечетности.

3 комментария:

  1. Решил поиграться и сделать тоже самое несколько иначе

    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 + " знаков");


    }

    }

    ОтветитьУдалить
  2. 1. вводимое число записывается в строку
    2. строка парсится в лонг или инт
    3 В строку s1 вводится результат проверки на четность\нечетность
    4 строка преобразуется в массив чаров и выясняется колличество знаков в числе через метод length
    5 собирается строка

    ОтветитьУдалить
  3. Еще один вариант решения, возможно более понятный новичку)
    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("нечетное трехзначное число");
    }

    ОтветитьУдалить