用java实现一个枚举类,通过编号(从1开始)得到30位中国的歌手
时间: 2023-05-27 09:05:12 浏览: 97
java枚举
5星 · 资源好评率100%
以下是一个实现示例:
```
public enum ChineseSinger {
SINGER1("邓紫棋"), SINGER2("周杰伦"), SINGER3("蔡依林"), SINGER4("王菲"), SINGER5("李宇春"), SINGER6("陈奕迅"), SINGER7("林俊杰"), SINGER8("张学友"), SINGER9("张靓颖"), SINGER10("毛阿敏"), SINGER11("孙楠"), SINGER12("李健"), SINGER13("田馥甄"), SINGER14("庾澄庆"), SINGER15("罗大佑"), SINGER16("王力宏"), SINGER17("陈小春"), SINGER18("梁静茹"), SINGER19("刘德华"), SINGER20("张国荣"), SINGER21("杨宗纬"), SINGER22("容祖儿"), SINGER23("许嵩"), SINGER24("林宥嘉"), SINGER25("薛之谦"), SINGER26("那英"), SINGER27("周传雄"), SINGER28("范晓萱"), SINGER29("张信哲"), SINGER30("陈慧琳");
private String name;
private ChineseSinger(String name) {
this.name = name;
}
public String getName() {
return name;
}
public static ChineseSinger getSingerByIndex(int index) {
if (index < 1 || index > 30) {
throw new IllegalArgumentException("Invalid index: " + index);
}
return ChineseSinger.values()[index - 1];
}
@Override
public String toString() {
return name;
}
}
```
在这个枚举类中,我们定义了30个歌手,每个歌手都有一个编号和一个名称。我们还定义了一个方法`getSingerByIndex`,它接受一个从1到30的整数作为参数,返回对应的歌手。这个方法内部通过调用`values()`方法获得枚举类中所有的枚举值,然后根据输入的索引返回对应的歌手。
使用示例:
```
ChineseSinger singer = ChineseSinger.getSingerByIndex(3);
System.out.println(singer); // 输出:蔡依林
```
这个例子中,我们通过调用`getSingerByIndex`方法得到了第三个歌手,也就是蔡依林。然后我们输出了这个歌手的名称。
阅读全文