Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Задача 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. Завершение работы программы.