如何在 Java 中为 true if 语句打印多个值?
How to print multiple values for a true if statement in Java?
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 之间输入一年,并让程序打印该时间段内的每个闰年。我是编码新手,不知道该怎么做。谢谢
您只需将代码放入某种循环即可:
for (int year = 500; year <= 1000; year++) {
and here comes the code you already wrote
当然,你可能想要"beautify"东西;通过要求用户提供该循环的 "lower" 和 "upper" 限制:
for (int year = lowerLimitFromUser; year <= upperLimitFromUser; year++) {
换句话说:您要研究的下一个概念是关于使用 for loop。
当然:为了轻松获得它们,您开始 通过创建像
这样的辅助方法
boolean isLeapYear(int year)
您可以在循环中调用。 (理想情况下,您首先更改代码以使用该新方法;以测试重组没有破坏逻辑)。
这里的示例更符合您可以对一系列日期执行的操作,请根据需要进行调整这只是一个示例,因为它并未考虑所有情况。
在此示例中,我使用 for 循环遍历 rage 以查看是否有闰年,然后将其标记为 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");
}
}
}
}
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 之间输入一年,并让程序打印该时间段内的每个闰年。我是编码新手,不知道该怎么做。谢谢
您只需将代码放入某种循环即可:
for (int year = 500; year <= 1000; year++) {
and here comes the code you already wrote
当然,你可能想要"beautify"东西;通过要求用户提供该循环的 "lower" 和 "upper" 限制:
for (int year = lowerLimitFromUser; year <= upperLimitFromUser; year++) {
换句话说:您要研究的下一个概念是关于使用 for loop。
当然:为了轻松获得它们,您开始 通过创建像
这样的辅助方法boolean isLeapYear(int year)
您可以在循环中调用。 (理想情况下,您首先更改代码以使用该新方法;以测试重组没有破坏逻辑)。
这里的示例更符合您可以对一系列日期执行的操作,请根据需要进行调整这只是一个示例,因为它并未考虑所有情况。
在此示例中,我使用 for 循环遍历 rage 以查看是否有闰年,然后将其标记为 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");
}
}
}
}