【问题标题】:How to print multiple values for a true if statement in Java?如何在 Java 中为 true if 语句打印多个值?
【发布时间】:2016-10-10 15:45:21
【问题描述】:
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!");
    }
}
}

基本上我想要尝试做的是在 500-1000 之间放入一年,并让程序在该时间段内打印每个闰年。我是编码新手,不知道如何去做。谢谢。

【问题讨论】:

  • 1.编写一个函数 isLeapYear,将年份作为输入,并返回 truefalse。 2. 写一个循环来循环这些年。 3)让那个循环调用那个函数。
  • 你发布了一些代码,现在你应该解释哪个部分正在尝试做你描述的事情,并解释哪个特定部分没有正常工作。
  • 提示:类名以大写字母开头。总是。

标签: java if-statement boolean leap-year


【解决方案1】:

您只需将代码放入某种循环中:

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

当然,您可能想要“美化”事物;通过要求用户提供该循环的“下限”和“上限”:

for (int year = lowerLimitFromUser; year <= upperLimitFromUser; year++) {

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

当然:为了轻松获得它们,您开始创建一个辅助方法,例如

boolean isLeapYear(int year)

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

【讨论】:

    【解决方案2】:

    这里的示例更符合您可以对一系列日期执行的操作,请根据需要调整它这只是一个示例,因为它没有考虑所有情况。

    在这个例子中,我使用了一个 for 循环来遍历愤怒,看看是否有闰年,然后将其标记为 true。

    您应该考虑使用方法来执行功能,而不是将所有内容都放在 main 方法中。

    import java.util.Scanner;
    import javax.swing.JOptionPane;
    public class StackStuff {
    
    
        public static void main (String[] args){
        int yearStart  = 0,yearEnd=0,year=0;
        String yearInput;
        boolean isLeap = false;
        String[] possibleValues = {"Year Range","Single Year" };
        String selectedValue = (String) JOptionPane.showInputDialog(null, "Choose one",
        "Input", JOptionPane.INFORMATION_MESSAGE, null,possibleValues, possibleValues[0]);
    
        if (selectedValue==possibleValues[0]){
    
            String yearInputStart = JOptionPane.showInputDialog("Enter the starting year here: ");
            String yearInputEnd = JOptionPane.showInputDialog("Enter the ending year here: ");
            Scanner inputScannerStart = new Scanner(yearInputStart);
            Scanner inputScannerEnd = new Scanner(yearInputEnd);
            yearStart = inputScannerStart.nextInt();
            yearEnd = inputScannerEnd.nextInt();
            inputScannerStart.close();
            inputScannerEnd.close();
            for (int i = yearStart ; i <= yearEnd;i++){
                if (i % 4 == 0){
                     isLeap = true;
                    break;
                }else {
                    isLeap = false;
                }
    
            }
            if(isLeap){
                JOptionPane.showMessageDialog(null,"There are leap years in this range");
            }else{
                JOptionPane.showMessageDialog(null," There are no leap years in this range");
            }
    
    
        }else{
            yearInput = JOptionPane.showInputDialog("Enter the year here: ");
            Scanner inputScanner = new Scanner(yearInput);
            year = inputScanner.nextInt();
            inputScanner.close();
            if (year% 4 == 0){
                 isLeap = true;
            }
            else{
                isLeap = false;
            }
    
            if(isLeap){
                JOptionPane.showMessageDialog(null,"This is a leap year");
            }else{
                JOptionPane.showMessageDialog(null,"This is not a leap year");
            }
        }
    
    
      }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2021-06-23
      • 1970-01-01
      • 2019-02-06
      • 2013-11-05
      • 2011-09-12
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      相关资源
      最近更新 更多