JAVA解题——输入年月返回天数(附源代码)
编程计算某年某月有几天。其中判别闰年的条件是: 能被4整除但不能被100整除的年是闰年,能被400整除的年也是闰年。(要求年月值是通过输入产生)。
代码如下:
public static void main(String[] args) {
// 键入Scanner sc = new Scanner(System.in);System.out.println("请输入年份:");int year = sc.nextInt();System.out.println("请输入月份:");int month = sc.nextInt();
// 初始化变量int days = 0;boolean isLeapYear = false;List<Integer> bigMonth= Arrays.asList(1,3,5,7,9,12);if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { //判断闰年isLeapYear = true;}// 判断月份是否合法if (month >= 0 && month <= 12) {// 先根据是否为闰年给定2月的if (month == 2) { // 直接三目days = isLeapYear ? 29 : 28;}else if (bigMonth.contains(month)) {//判定是否为大月,否则为小月days = 31;}else days = 30;} else {System.out.println("月份不合法请重新输入");}System.out.printf("%d年%d月的天数为:%d天", year, month, days); // 输出结果}
效果图:
例:2024年2月
如果输入了一个不合法的月份,跑起来就是返回0天
或者可以单独给一个不存在的选项,这里就不演示了