如何结合一年中几个月的扫描仪输入和枚举?

问题描述 投票:0回答:1

我正在尝试使用我制作的程序来告诉您您的十二生肖是什么,之前我只是通过 if 语句运行扫描仪输入以确定给定的出生月份和出生日期的标志。现在我的导师挑战我使用枚举并在一年中的几个月之间切换。我的问题在概念上我很困惑如何将这两个概念结合在一起

到目前为止,这是我的代码,但我真的只是在黑暗中拍摄

import java.util.Scanner;

enum Month {
    
January,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
}

class MyStarSign3 {

    Month month;

    public EnumTest(Month month) {

        this.month = month;
    }

    public void monthBorn() {
        switch (month) {

            case January:


            case February:


            case March:


            case April:


            case May:


            case June: 


            case July:


            case August:


            case September:


            case October:


            case November:


            case December:


            default:


                
        }
    }


                public static void main(String[] args) {

                        Scanner monthInput = new Scanner(System.in);

                        String birthMonth = monthInput.nextLine();

                }

}
java enums java.util.scanner
1个回答
0
投票

您可以在

valueOf
类型上使用
enum
方法将
String
转换为相应的枚举。

switch (Month.valueOf(birthMonth)) {
case January -> System.out.println("January"); // or do something else...
// etc...
}

如果用户输入了无效的月份,您可能还想捕捉

IllegalArgumentException

© www.soinside.com 2019 - 2024. All rights reserved.