Skip to content

Latest commit

 

History

History
91 lines (72 loc) · 5.25 KB

File metadata and controls

91 lines (72 loc) · 5.25 KB

Задача 1. Високосный год

Описание

Нужно написать программу, которая будет рассчитывать количество дней в году. Зачем это бывает нужно? Варианты бывают разные: например, для расчета продолжительности долгосрочных проектов в днях или чтобы узнать, сколько дней потребуется для космической экспедиции на Марс. Для расчета количества дней в году требуется знать несколько правил:

  • В високосном году 366 дней, в обычном 365.
  • Високосный год — это год, номер которого делится без остатка на 400 (например 2000 или 2400), либо делится на 4 но не делится на 100 (например 2008, 2096, но не 2100).

Функционал программы

  1. Вывод сообщения в консоли Введите год в формате "yyyy".
  2. Ввод года в формате yyyy (например 2004).
  3. Чтение значения из консоли и расчет количества дней.
  4. Результат работы программы: напечатать в консоли количество дней в году Количество дней 365 или Количество дней 366.

Пример

Пример 1

Введите год в формате "yyyy"
2000 <нажмите enter>
Количество дней 366

Пример 2

Введите год в формате "yyyy"
2018 <нажмите enter>
Количество дней 365

Реализация

  1. Откройте среду разработки Giga IDE

  2. Создайте новый java-проект. Следуйте этой инструкции

  3. Добавьте в .java файл код ниже:

class Main {
    public static void main(String[] args) {
        System.out.println("Hello world!");
    }
}

Весь код выполнения задачи нужно писать вместо System.out.println("Hello world!");.

  1. Выведем сообщение Введите год в формате "yyyy" пользователю

  2. Чтобы читать сообщения из консоли воспользуемся специальным объектом Scanner (на следующих лекциях мы подробнее познакомимся с термином объект), описание Scanner (как ниже) делается только один раз на всю программу.

Scanner scanner = new Scanner(System.in);
  1. Для того чтобы была возможность в коде использовать класс Scanner, нужно обязательно добавить import этого класса в самое начало файла Main.java:
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        //Код сюда
    }
}
  1. Чтобы прочитать введенное целое число из консоли, нужно использовать scanner.nextInt(). А чтобы прочитать и сохранить введенное значение в программе для дальнейшего использования, нужно написать:
int year = scanner.nextInt();
  1. Как проверить, високосный ли год? Для этого сначала надо проверить делимость на 400, используя year % 400 == 0. Специальный оператор % - возвращает остаток от деления. Результат вычисления будет равен 0, только если число делится нацело, иначе вернется остаток от деления. Если год делится на 400 без остатка, значит в нем точно 366 дней. Если нет, то — аналогично проверить делимость на 100: если год делится на 100, то в нем точно 365 дней. И наконец, если год не делится ни на 400, ни на 100, то проверяем делимость на 4: если делится, — то — 366 дней, иначе — 365.

  2. Чтобы последовательно проверить делимость введенного числа, нужно воспользоваться оператором сравнения if else.

if (year % 400 == 0) {
    System.out.println("Результат вычисления ...");
} else if ( еще одна проверка year % ) {
    //Вывести результат в консоль с помощью System.out.println
} else {
    //Вывести результат в консоль System.out.println
}
  1. Завершение работы программы.