闰年能被4整除不能被100整除、或能被400整除
输入格式:
给出21世纪的某个截止年份
输出格式:
为闰年则每行输出年份
非21世纪的年份则输出"Invalid year!"
若不存在任何闰年则输出“None”
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int year = scanner.nextInt();
int isLeapYear = 0;
if (year < 2000 || year > 2099) {
System.out.println("Invalid year!");
return; // 在Java中处理异常情况,可以直接返回结束程序
} else {
for (int i = 2000; i <= year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {
System.out.println(i);
isLeapYear = 1;
}
}
}
if (isLeapYear == 0) {
System.out.println("None");
}
scanner.close();
}
}
三次判断输出
先判断非21世纪的年份
设标志变量判断闰年
再循环判断为闰年
最后判断不存在任何闰年
标志变量设0表示条件不成立,判断条件成立标志变量设1表示条件成立,
判断条件始终不成立输出条件为0的输出
标志变量标记某些条件是否满足,以便在后续代码根据标志状态执行不同逻辑。
isLeapYear变量被用来表示是否找到了至少一个闰年
当`isLeapYear`被初始化为0时,表示尚未找到任何闰年。
当遍历年份过程中找到了符合闰年条件的年份,则将`isLeapYear`设为1。
在循环结束后,通过判断`isLeapYear`的值是否为0来确定是否存在闰年,
以此来输出相应的结果。
这种标志变量的使用可以让程序更容易管理和控制不同条件下的逻辑分支。通过根据标志变量的状态来执行不同的代码段,可以使程序更具灵活性和可扩展性。