import java.util.Scanner;
public class Hw2JamesVaughn {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Enter a year: ");
int year = input.nextInt();
if((year < 1582) == (year % 4==0))
System.out.println(year + " is a leap year");
else
System.out.println(year + " is not a leap year");
if((year > 1582) == (year % 100 != 0) || (year % 400 == 0))
System.out.println(year + " is a leap year");
else
System.out.println(year + " is not a leap year");
}
}
Это задание.
(Чтобы определить, является ли конкретный год високосным, используйте следующую логику:
- год должен делиться на 4
- начиная с 1582 года, если год делится на 100, он также должен делиться на 400. Таким образом, 1700 год не високосный, а 2000 год. Однако 1500 - это високосный год, поскольку это было до 1582 года, года принятия григорианского календаря. Ваша программа запросит год, а затем покажет, является ли год високосным или нет.)
Я зашел так далеко с моей программой високосного года Java, но она не работает! Я работал над этим и понятия не имел, что не так.
(year < 1582) == (year % 4==0)
. Очень подумайте о том, что это проверяет. Я не думаю, что это то, что вы имеете в виду. (Подсказка: я бы просто отделил все до 1582 года от всего, начиная с 1582 года, и проигнорировал бы тот факт, что эти две ветви будут иметь что-то общее ...) - person Jon Skeet   schedule 02.09.2014;
сразу после оператораif
, который завершает блокif
без тела. Следующиеelse
остаются без соответствующихif
. - person papacito   schedule 02.09.2014java.time.Year.of( 2017 ).isLeap()
< / а> - person Basil Bourque   schedule 01.01.2018