使用switch-case语句编程实现功能:输入一个月份数字,打印输出对应的天数?

比如,运行程序后,用户输入数字3,则程序打印“31天”或“3月有31天”。

注意,满足如下两个条件之一的年份是闰年,闰年的2月有29天:

(1)能被4整除且不能被100整除的为闰年。(如2004年是,1900年不是);

(2)能被400整能除的是闰年。(如2000年是,1900年不是)。

//注:我的这个程序要求必须输入正确

import java.util.Scanner;

public class sy {

    public static void main(String args[]) {

        Scanner scanner = new Scanner(System.in);

        System.out.print("请输入年份:");

        int year = scanner.nextInt();

        System.out.print("请输入月份:");

        int mouth = scanner.nextInt();

        if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {

            switch (mouth) {

                case 1:

                    System.out.println("31天");

                    break;

                case 2:

                    System.out.println("29天");

                    break;

                case 3:

                    System.out.println("31天");

                    break;

                case 4:

                    System.out.println("30天");

                    break;

                case 5:

                    System.out.println("31天");

                    break;

               case 6:

                    System.out.println("30天");

                    break;

                case 7:

                    System.out.println("31天");

                    break;

                case 8:

                    System.out.println("31天");

                    break;

                case 9:

                    System.out.println("30天");

                    break;

                case 10:

                    System.out.println("31天");

                    break;

                case 11:

                    System.out.println("30天");

                    break;

                case 12:

                    System.out.println("31天");

                    break;

                default:

                    System.out.println("输入不正确!");

            }

        }else {

            switch (mouth) {

                case 1:

                    System.out.println("31天");

                    break;

                case 2:

                    System.out.println("28天");

                    break;

                case 3:

                    System.out.println("31天");

                    break;

                case 4:

                    System.out.println("30天");

                    break;

                case 5:

                    System.out.println("31天");

                    break;

                case 6:

                    System.out.println("30天");

                    break;

                case 7:

                    System.out.println("31天");

                    break;

                case 8:

                    System.out.println("31天");

                    break;

                case 9:

                    System.out.println("30天");

                    break;

                case 10:

                    System.out.println("31天");

                    break;

                case 11:

                    System.out.println("30天");

                    break;

                case 12:

                    System.out.println("31天");

                    break;

                default:

                    System.out.println("输入不正确!");

            }

        }

    }

}

温馨提示:答案为网友推荐,仅供参考