有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Leapyear的Java代码错误

当我试图编译这段代码时,我收到了这个错误消息,我不知道为什么,因为我有if's跟随我的else's。任何帮助都是非常感谢的:

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) 个答案

  1. # 1 楼答案

    您的if有一个空的正文。分号可以(在本例中是)表示空语句

    tl;dr

    改变

    if (year < 1582);
    

    删除分号的步骤

    if (year < 1582)
    
  2. # 2 楼答案

    你有一个“;”在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
    {
        ...