判断季节,是春夏秋冬哪一个季节

本文介绍如何使用Java编写程序,通过用户输入的月份,判断并输出其所属的季节。代码中利用switch语句简化了季节判断逻辑。

题目:

/*一年有12个月,分属于春夏秋冬四个季节,键盘录入一个月份,请用程序判断该月份属于哪个季节,并输出*/

package study;
/*一年有12个月,分属于春夏秋冬四个季节,键盘录入一个月份,请用程序判断该月份属于哪个季节,并输出*/

import java.util.Scanner;
public class eg5 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个月份");
        int mon = sc.nextInt();
        /*switch (mon){
            case 1:
                System.out.println(mon+"属于冬季");
                break;
            case 2:
                System.out.println(mon+"属于春季");
                break;
            case 3:
                System.out.println(mon+"属于春季");
                break;
            case 4:
                System.out.println(mon+"属于春季");
                break;
            case 5:
                System.out.println(mon+"属于夏季");
                break;
            case 6:
                System.out.println(mon+"属于夏季");
                break;
            case 7:
                System.out.println(mon+"属于秋季");
                break;
            case 8:
                System.out.println(mon+"属于秋季");
                break;
            case 9:
                System.out.println(mon+"属于秋季");
                break;
            default:
                System.out.println(mon+"属于冬季");
        }*/

        /*if(mon>=1 &&mon<=2){
            System.out.println(mon+"是冬季");
        }
        else if(mon>2 && mon<=5){
            System.out.println(mon+"是春季");
        }
        else if (mon>5 && mon<=7){
            System.out.println(mon+"是夏季");
        }
        else if (mon>7 && mon<=10){
            System.out.println(mon+"是秋季");
        }
        else {
            System.out.println(mon+"是冬季");
        }*/


        //case 穿透
        switch (mon){
            case 1:
            case 2:
            case 12:
                System.out.println(mon+"属于冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println(mon+"属于春季");
                break;
            default:
                System.out.println("输入有误");

        }


    }

}

以下是几种用 Java 编写的输入一个数判定其对应春夏秋冬哪个季节的代码示例: ### 方法一:使用 if - else 语句 ```java import java.util.Scanner; public class SeasonChecker { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个 1 - 12 的月份,用于判断季节:"); int month = scanner.nextInt(); if (month >= 3 && month <= 5) { System.out.println("春天"); } else if (month >= 6 && month <= 8) { System.out.println("夏天"); } else if (month >= 9 && month <= 11) { System.out.println("秋天"); } else if (month == 12 || month == 1 || month == 2) { System.out.println("冬天"); } else { System.out.println("您输入的数字不符合月份,输入有误"); } scanner.close(); } } ``` 此代码通过 `if - else` 语句对输入的月份进行判断,根据不同的月份范围输出对应的季节,若输入不在 1 - 12 范围内则提示输入有误。该方法逻辑清晰,易于理解,是较为基础的实现方式 [^2]。 ### 方法二:使用 switch 语句 ```java import java.util.Scanner; public class SeasonCheckerSwitch { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个 1 - 12 的月份,用于判断季节:"); int month = scanner.nextInt(); switch (month) { case 3: case 4: case 5: System.out.println("春天"); break; case 6: case 7: case 8: System.out.println("夏天"); break; case 9: case 10: case 11: System.out.println("秋天"); break; case 12: case 1: case 2: System.out.println("冬天"); break; default: System.out.println("您输入的数字不符合月份,输入有误"); } scanner.close(); } } ``` 该代码使用 `switch` 语句对输入的月份进行判断。`switch` 语句根据不同的 `case` 分支来确定对应的季节,若输入的月份不在有效的范围内,则执行 `default` 分支提示输入有误。`switch` 语句在处理多个固定值的判断时,代码结构更加清晰,执行效率也相对较高 [^1]。 ### 方法三:使用数组和循环 ```java import java.util.Scanner; public class SeasonCheckerArray { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个 1 - 12 的月份,用于判断季节:"); int month = scanner.nextInt(); int[] spring = {3, 4, 5}; int[] summer = {6, 7, 8}; int[] autumn = {9, 10, 11}; int[] winter = {12, 1, 2}; boolean found = false; if (isInArray(month, spring)) { System.out.println("春天"); found = true; } else if (isInArray(month, summer)) { System.out.println("夏天"); found = true; } else if (isInArray(month, autumn)) { System.out.println("秋天"); found = true; } else if (isInArray(month, winter)) { System.out.println("冬天"); found = true; } if (!found) { System.out.println("您输入的数字不符合月份,输入有误"); } scanner.close(); } public static boolean isInArray(int num, int[] arr) { for (int i : arr) { if (i == num) { return true; } } return false; } } ``` 此代码将每个季节对应的月份存储在数组中,通过自定义的 `isInArray` 方法来判断输入的月份是否在某个季节的数组中。若在,则输出对应的季节;若都不在,则提示输入有误。这种方法将季节月份的对应关系存储在数组中,便于扩展和维护,当季节的划分规则发生变化时,只需要修改数组的内容即可。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值