Leapyear的Java代码错误

时间:2015-09-02 02:56:25

标签: java

当我尝试编译此代码时,我收到此错误消息,我不知道为什么因为我有跟随我的其他人。任何帮助表示赞赏:

error: 'else' without 'if'

这是我的代码:

import java.util.Scanner;
public class LeapYear
{
    public static void main (String[] args)
    {
        int year;
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a year:\n[1582] ");
        year= sc.nextInt();

        if (year < 1582);
            System.out.print("Error! \"Calender starts from 1582\".");
        else
        {
            if ((year%4==0 || year%400==0) && (year>1999 || year%   100!=0))
                System.out.println ("A leap year.");
            else
                System.out.println("Not a leap year. ");
        }
    }
}

2 个答案:

答案 0 :(得分:2)

if你的身体是空的。分号可以(在这种情况下)表示空语句。

<强> TL;博士

更改

if (year < 1582);

删除分号

if (year < 1582)

答案 1 :(得分:1)

你有一个&#39 ;;&#39;在if行的末尾。你的代码应该是:

if (year < 1582)
    System.out.print("Error! \"Calender starts from 1582\".");
else
{
    ....

或更好:

if (year < 1582)
{
    System.out.print("Error! \"Calender starts from 1582\".");
}
else
{
    ...