3. 设计一个代表一周七天的枚举类 - 枚举类里提供一个每天吃不同东西的方法, - 比如,周一吃KFC, 周二吃麦当劳... - 测试枚举类 - 输入一个数字代表一周的那一天,可以得到相应星期的值,并提示这同吃什么。
时间: 2024-09-18 20:16:43 浏览: 44
SCJP 310-055 题库2 类、接口以及枚举
为了设计一个代表一周七天的枚举类以及相关的功能,我们可以创建一个名为`WeekDay`的枚举类型,其中包含七个实例,每个实例对应一天并附带相应的食物信息。以下是步骤:
```java
public enum WeekDay {
SUNDAY("周日", "KFC"),
MONDAY("周一", "麦当劳"),
TUESDAY("周二", "必胜客"),
WEDNESDAY("周三", "星巴克"),
THURSDAY("周四", "汉堡王"),
FRIDAY("周五", "寿司店"),
SATURDAY("周六", "火锅");
private String dayName;
private String food;
WeekDay(String dayName, String food) {
this.dayName = dayName;
this.food = food;
}
public String getDayName() {
return dayName;
}
public String getFood() {
return food;
}
// 提供一个获取特定日期食物的方法
public String eatForDay(int inputDayIndex) {
if (inputDayIndex >= 0 && inputDayIndex < values().length) {
return this.values()[inputDayIndex].getFood();
} else {
throw new IllegalArgumentException("输入的天数无效");
}
}
// 测试枚举类
public static void main(String[] args) {
System.out.println(WeekDay.MONDAY.eatForDay(0)); // 输出: 麦当劳
System.out.println(WeekDay.SATURDAY.eatForDay(6)); // 输出: 火锅
try {
System.out.println(WeekDay.eatForDay(7)); // 抛出异常,因为7超出了范围
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage()); // 输出: 输入的天数无效
}
}
}
```
在这个例子中,`eatForDay`方法接受一个整数作为参数,如果输入在范围内,它会返回相应星期的默认食物;如果输入超出范围,则抛出异常。
阅读全文