Нужно написать программу, которая будет рассчитывать количество дней в году. Зачем это бывает нужно? Варианты бывают разные: например, для расчета продолжительности долгосрочных проектов в днях или чтобы узнать, сколько дней потребуется для космической экспедиции на Марс. Для расчета количества дней в году требуется знать несколько правил:
- В високосном году 366 дней, в обычном 365.
- Високосный год — это год, номер которого делится без остатка на 400 (например 2000 или 2400), либо делится на 4 но не делится на 100 (например 2008, 2096, но не 2100).
- Вывод сообщения в консоли
Введите год в формате "yyyy"
. - Ввод года в формате
yyyy
(например 2004). - Чтение значения из консоли и расчет количества дней.
- Результат работы программы: напечатать в консоли количество дней в году
Количество дней 365
илиКоличество дней 366
.
Пример 1
Введите год в формате "yyyy"
2000 <нажмите enter>
Количество дней 366
Пример 2
Введите год в формате "yyyy"
2018 <нажмите enter>
Количество дней 365
-
Откройте среду разработки Giga IDE
-
Создайте новый java-проект. Следуйте этой инструкции
-
Добавьте в .java файл код ниже:
class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
Весь код выполнения задачи нужно писать вместо System.out.println("Hello world!");
.
-
Выведем сообщение
Введите год в формате "yyyy"
пользователю -
Чтобы читать сообщения из консоли воспользуемся специальным объектом
Scanner
(на следующих лекциях мы подробнее познакомимся с термином объект), описаниеScanner
(как ниже) делается только один раз на всю программу.
Scanner scanner = new Scanner(System.in);
- Для того чтобы была возможность в коде использовать класс
Scanner
, нужно обязательно добавитьimport
этого класса в самое начало файлаMain.java
:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
//Код сюда
}
}
- Чтобы прочитать введенное целое число из консоли, нужно использовать
scanner.nextInt()
. А чтобы прочитать и сохранить введенное значение в программе для дальнейшего использования, нужно написать:
int year = scanner.nextInt();
-
Как проверить, високосный ли год? Для этого сначала надо проверить делимость на 400, используя
year % 400 == 0
. Специальный оператор%
- возвращает остаток от деления. Результат вычисления будет равен 0, только если число делится нацело, иначе вернется остаток от деления. Если год делится на 400 без остатка, значит в нем точно 366 дней. Если нет, то — аналогично проверить делимость на 100: если год делится на 100, то в нем точно 365 дней. И наконец, если год не делится ни на 400, ни на 100, то проверяем делимость на 4: если делится, — то — 366 дней, иначе — 365. -
Чтобы последовательно проверить делимость введенного числа, нужно воспользоваться оператором сравнения
if else
.
if (year % 400 == 0) {
System.out.println("Результат вычисления ...");
} else if ( еще одна проверка year % ) {
//Вывести результат в консоль с помощью System.out.println
} else {
//Вывести результат в консоль System.out.println
}
- Завершение работы программы.