java中,枚举类型可以从键盘上输入嘛?
时间: 2024-03-10 12:23:53 浏览: 13
可以,可以通过Scanner类的next()或nextLine()方法读取键盘输入,然后使用valueOf()方法将输入的字符串转换为对应的枚举常量。例如:
```
Scanner scanner = new Scanner(System.in);
String inputStr = scanner.nextLine();
MyEnum myEnum = MyEnum.valueOf(inputStr);
```
相关问题
java枚举类怎么键盘输入
可以通过`Scanner`类来实现键盘输入枚举类型。下面是一个示例代码:
```java
import java.util.Scanner;
public class EnumInputExample {
enum Weekday {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Please enter a weekday: ");
String input = scanner.nextLine().toUpperCase();
Weekday weekday = Weekday.valueOf(input);
System.out.println("You entered " + weekday);
}
}
```
在这个示例中,我们先定义了一个枚举类型`Weekday`,然后通过`Scanner`类从键盘读取用户输入的字符串,将其转换为大写字母,最后使用`valueOf()`方法将其转换为对应的枚举常量。如果用户输入的字符串不是枚举类型中的常量,则会抛出`IllegalArgumentException`异常。
用java创建一个用表示季节的枚举类型Season,用户从键盘输入1~4之间的整数(包含1和4),输入对应的季节。
好的,下面是用Java创建一个表示季节的枚举类型Season的代码:
```java
public enum Season {
SPRING,
SUMMER,
FALL,
WINTER;
}
```
上面的代码声明了一个Season枚举类型,包含SPRING、 SUMMER、 FALL、 WINTER四个枚举常量,分别代表春季、夏季、秋季和冬季。
接下来是通过用户从键盘输入一个整数,来输出对应季节的代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int seasonNumber = scanner.nextInt();
switch (seasonNumber) {
case 1:
System.out.println(Season.SPRING);
break;
case 2:
System.out.println(Season.SUMMER);
break;
case 3:
System.out.println(Season.FALL);
break;
case 4:
System.out.println(Season.WINTER);
break;
default:
System.out.println("请输入1~4之间的整数!");
break;
}
scanner.close();
}
}
```
上面的代码中,我们使用了Scanner类来读取用户从键盘输入的整数,然后使用switch语句输出对应的季节。请注意,我们使用了Season枚举类型来表示季节,因此输出的是枚举常量的名称,比如“SPRING”,而不是“春季”。