Java中用isleapyear如何判断闰年,一个关于二月天的案例问题
参考:
package com.gx.demo;
import java.util.Scanner;
public class Test5 {
public static void main(String[] args) {
// 输入
Scanner sc = new Scanner(System.in);
// 提示输入一个年份
System.out.println("请输入一个年份:");
int year = 0;
// 判断键盘输入是否是int类型,且大于0
if (sc.hasNextInt()) {
// 请输入一个整形数字,表示年份
year = sc.nextInt();
// 判断不能为负数
if (year < 0) {
System.out.println("输入的年份类型错误,需为正整数:");
return;// 直接结束,不往下执行
}
} else {
System.out.println("输入的年份类型错误:");
return;// 直接结束,不往下执行
}
// 定义一个平年的天数,默认28(平年)
int days = 28;
// 定义平/闰年标识,默认是false(平年)
boolean isleapyear = false;
// 闰年:(1)和 (2)只要满足一个就行,则表示这一年是闰年, (1)能被4整除 但不能被100整除;(2)能被400整除。
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
isleapyear = true;
days++;
// days++的含义:符合if逻辑就+1,即 = days + 1
}
// 判断是平年/闰年
if (isleapyear) {
// 输出当年二月的天数,整形和字符串拼接 输出的是字符串
System.out.println(year + "年是闰年," + "该年的二月份共有" + days + "天");
} else {
System.out.println(year + "年是平年," + "该年的二月份共有" + days + "天");
}
// 关闭输入 计算机回收资源
sc.close();
}
}
public static void main(String[] args) {
// 输入
java.util.Scanner input = new java.util.Scanner(System.in);
// 提示输入一个年份
System.out.println("请输入一个年份:");
// 请输入一个整形数字 表示年份
int year = input.nextInt();
// 先定义一个平年的天数 默认输入的是平年
int days = 28;
/* 闰年:(1) 和 (2)只要满足一个就行 表示这一年是闰年
(1) 能被4整除 但不能被100整除
(2) 能被400整除
*/
if(year%4==0 && year%100!=0 || year%400==0) {
// days++ = days + 1
days++;
// days++ = days + 1 = 28 + 1 =29
}
// 输出当年二月的天数
// 整形和字符串拼接 输出的是字符串
System.out.println(year + "年份的2月份共" + days + "天");
// 关闭输入 计算机回收资源
input.close();
}
这里有一个完整的示例连接,地址如下:https://blog.csdn.net/FUGUIGZS/article/details/127666744