посчитайте ЗАДАЧУ НА С++ ДАЮ 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;
}
}