import java.util.*;
public class LeapYear
{
public static void main (String[]args)
{
Scanner scan= new Scanner (System.in);
System.out.println("Please enter in the year");
int year=scan.nextInt();
if (year % 4 ==0)
{
{
if (year % 100 ==0);
else
System.out.println("The year,"+year+",is a leap year!");
}
if(year % 400==0)
System.out.println("The year, "+year+",is a leap year!");
}
else
System.out.println("The year, "+year+",is not a leap year!");
}
}
Эй, все! Выше мой код для программы високосного года. Кажется, он работает хорошо, за исключением случаев, когда я ввожу число, например 3000 или 300, JVM просто останавливается и закрывает окно терминала. Может ли кто-нибудь указать, почему он не принимает эти цифры (Также, пожалуйста, простите меня, что мой код не отформатирован должным образом - я новичок и стараюсь изо всех сил) ПРИМЕЧАНИЕ. Он отображает правильные ответы, когда Я тестирую 1900, 1996, 2004, 164 и 204 как годы. Он просто не примет 300 или 3000. Еще раз спасибо!Программа високосного года
Совет, особенно при изучении Java, добавьте во все фигурные скобки после if-statements. Это значительно упростит, когда у вас есть пустые операторы if и где заканчиваются if-statements. – mdewitt
Кажется, что вам нужно больше узнать о логических операторах, таких как '||' (или), '&&' (и), '!' (Not) или отношения типа '! =' (Не равные). Это позволит создавать выражения типа 'if (year% X == 0 || (year% Y == 0 && year% Z! = 0))' - попытаться выяснить, какие значения следует использовать вместо 'X '' Y' и 'Z', поэтому он решит вашу задачу. – Pshemo
FYI: 'java.time.Year (2017) .isLeap()' –