Условие задачи
Задача взята с сайта e-olymp
Определить название времени года по заданному номеру месяца, используя составные условия.
Тесты
Входные данные: одно число — номер месяца
Выходные данные: для весенних месяцев вывести Spring, для летних — Summer, для осенних — Autumn и для зимних — Winter
№ | Входные данные | Выходные данные |
1 | 12 | Winter |
2 | 5 | Spring |
3 | 7 | Summer |
4 | 10 | Autumn |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.Scanner; public class Main { public static void main (String[] args) { int monthNumber; String seasonName; Scanner scanner = new Scanner(System.in); monthNumber = scanner.nextInt(); seasonName = ((monthNumber % 12) < 3) ? "Winter" : (monthNumber < 6) ? "Spring" : (monthNumber < 9) ? "Summer" : "Autumn"; System.out.println(seasonName); } } |
Код доступен на ideone
Результаты проверки доступны на e-olymp
Пояснение
Для хранения номера месяца будем использовать переменную monthNumber типа int, а для хранения названия времени года — переменную seasonName типа String. Обьявим эти переменные в начале программы. Проинициализируем переменную monthNumber значением из стандартного потока ввода. Переменную seasonName проинициализируем значением, которое определяется с помощью тернарных операторов, с помощью которых поочередно проверяется соответствие значения переменной monthNumber определенному времени года: если остаток от деления номера месяца на 12 будет меньше, чем 3, то переменная будет проинициализирована значением «Winter»; если номер месяца меньше, чем 6 — значением «Spring» ; если меньше, чем 9 — значением «Summer»; значением «Autumn» в иных случаях. Результат работы программы — вывод значения переменной seasonName.