如何在Java中为true if语句打印多个值?

Sea*_*s W 1 java if-statement boolean leap-year

package leapYear;

import java.util.Scanner;
import javax.swing.JOptionPane;

public class leapYear {

    public static void main (String[] args){

    String yearInput = JOptionPane.showInputDialog("Enter the year here: ");
    Scanner inputScanner = new Scanner(yearInput);
    int year = inputScanner.nextInt();
    inputScanner.close();

    boolean leapYear = false;
    {

    if (year % 400 == 0)
    {
        leapYear = true;
    }

    else if (year % 100 == 0)
    {
        leapYear = false;
    }

    else if (year % 4 == 0)
    {
        leapYear = true;
    }

    else
    {
        leapYear = false;
    }

    if (leapYear)
        JOptionPane.showMessageDialog(null, year + " IS a leap year!");

    else JOptionPane.showMessageDialog(null, year + " is NOT a leap year!");
    }
}
}
Run Code Online (Sandbox Code Playgroud)

基本上我想要尝试做的是,在500-1000之间放一年,并且该程序在该时间段内打印每一个闰年.我是编码的新手,不知道如何解决这个问题.谢谢.

Gho*_*ica 5

您可以简单地将代码放入某种循环中:

for (int year = 500; year <= 1000; year++) {
 and here comes the code you already wrote
Run Code Online (Sandbox Code Playgroud)

当然,你可能想要"美化"东西; 通过要求用户提供该循环的"较低"和"较高"限制:

for (int year = lowerLimitFromUser; year <= upperLimitFromUser; year++) {
Run Code Online (Sandbox Code Playgroud)

换句话说:您要研究的下一个概念是关于使用for循环.

当然:要轻松搞定,首先要创建一个类似的辅助方法

boolean isLeapYear(int year)
Run Code Online (Sandbox Code Playgroud)

您可以在循环中调用.(理想情况下,您首先要更改代码以使用该新方法;以测试重组没有破坏逻辑).