0

这可能很简单,但目前我无法绕过它练习问题。我只是想一起打印几个整数,这样输出就可以了

2004年是闰年

2013年不是闰年

public class Ex1partA {
       public static void main(String[] args) {
       int year  = 2004;
       if(year%400==0){
           System.out.println("2004 is a leap year");
       }else if(year%100==0){
           System.out.println("2004 is not a leap year");
       }else if(year%4==0){
           System.out.println("2004 is a leap year");
       }else{
           System.out.println("2004 is not a leap year");
       }
   }
  
   {
        int year1  = 2013;
        if(year1%400==0){
        System.out.println("2013 is a leap year");
        }else if(year1%100==0){
        System.out.println(" 2013 is not a leap year");
        }else if(year1%4==0){
        System.out.println("2013 is a leap year");
        }else{
        System.out.println("2013 is not a leap year");
    
   }
 }
}
4

3 回答 3

3

你想多了。只需使用这样的简单方法if-else

int year = 2004;
if (year % 4 == 0) {
    System.out.println("2004 is a leap year");
} else {
    System.out.println("2004 is not a leap year");
}

int year1 = 2013;
if (year1 % 4 == 0) {
    System.out.println("2013 is a leap year");
} else {
    System.out.println("2013 is not a leap year");
}

您甚至可以将其转移到一种方法,您可以只通过一年,它会为您显示结果。像这样的东西

public static void main(String[] args) {

    int year = 2004;
    checkLeapYear(year);

    int year1 = 2013;
    checkLeapYear(year1);
}

private static void checkLeapYear(int year) {
    if (year % 4 == 0) {
        System.out.println(year + " is a leap year");
    } else {
        System.out.println(year + " is not a leap year");
    }
}
于 2013-11-27T06:10:07.070 回答
1

您应该将非静态块代码放入 main 或将其作为静态块打印 2013 年不是闰年。

公共类 Ex1partA {

public static void main(String[] args) {
    int year = 2004;
    if (year % 400 == 0) {
        System.out.println("2004 is a leap year");
    } else if (year % 100 == 0) {
        System.out.println("2004 is not a leap year");
    } else if (year % 4 == 0) {
        System.out.println("2004 is a leap year");
    } else {
        System.out.println("2004 is not a leap year");
    }

    // Method#1

    {
        int year1 = 2013;
        if (year1 % 400 == 0) {
            System.out.println("2013 is a leap year");
        } else if (year1 % 100 == 0) {
            System.out.println(" 2013 is not a leap year");
        } else if (year1 % 4 == 0) {
            System.out.println("2013 is a leap year");
        } else {
            System.out.println("2013 is not a leap year");

        }
    }
}

// Method#2
static {
    int year1 = 2013;
    if (year1 % 400 == 0) {
        System.out.println("2013 is a leap year");
    } else if (year1 % 100 == 0) {
        System.out.println(" 2013 is not a leap year");
    } else if (year1 % 4 == 0) {
        System.out.println("2013 is a leap year");
    } else {
        System.out.println("2013 is not a leap year");

    }
}

 }
于 2013-11-27T06:10:59.213 回答
1

你的问题有点模糊,但看起来你有两个单独的块。正如您的主要方法包含在一组大括号中,然后下一个“语句”包含在一组单独的大括号中。编辑大括号,使 main 方法包含两个块。

于 2013-11-27T06:11:03.430 回答