Регистрация
Войти
Стать экспертом Правила
Информатика

посчитайте ЗАДАЧУ НА С++ ДАЮ 45 поинтов Напишите программу, которая узнаёт у человека его возраст и сообщает, кто он: малыш (до 6 лет), школьник (от 7 до 17 лет), взрослый (от 18 до 64 лет), аксакал (от 65 до 120 лет) или привидение (всё остальное).Формат входных данныхВводится целое число N (0≤N≤231−1).Формат выходных данныхТребуется вывести «BABY», «SCHOOLCHILD», «ADULT», «ELDER» или «GHOST» соответственно для малыша, школьника, взрослого, аксакала или привидения.входные данные выходные данные3 BABY21 ADULT

ОТВЕТЫ

import java.util.Scanner;

public class OldYears {

public static void main(String[] args) {

int years = readConsole("Enter age of the person", 0, 231 - 1);

System.out.printf("Enter value: %s;%sAnswer: %s;", years, System.lineSeparator(), getResult(years));

}

public static int readConsole(String answer, int startRange, int endRange) {

Scanner read = new Scanner(System.in);

boolean value = false;

int result = 0;

while (!value) {

System.out.printf("%s: ", answer);

try {

result = Integer.valueOf(read.next());

if (!(value = result >= startRange && result <= endRange)) {

System.out.printf("Incorrect value [%s <= value <= %s]. Try again.%s", startRange, endRange, System.lineSeparator());

}

} catch (NumberFormatException e) {

System.out.println("The value is not number. Try again.");

}

}

return result;

}

public static String getResult(int years) {

String result;

if (years >= 0 && years <= 6) {

result = "BABY";

} else if (years > 6 && years <= 17) {

result = "SCHOOLCHILD";

} else if (years > 17 && years <= 64) {

result = "ADULT";

} else if (years > 64 && years <= 120) {

result = "ELDER";

} else {

result = "GHOST";

}

return result;

}

}

339
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам