10PTA jmu-Java-02基本语法-06-枚举

这篇博客介绍了如何定义一个枚举类型Grade来表示考试的四个等级,并实现了一个函数getGrade(),该函数根据输入的分数返回对应的Grade。在main方法中,通过从用户输入读取分数,调用getGrade()函数并使用switch语句输出不同等级的评价,同时打印出Grade的类名和值。示例展示了90到60分之间的分数转换结果。
摘要由CSDN通过智能技术生成

定义一个枚举类型Grade来表示考试的4个等级,值包含A,B,C,D,E

编写一个函数Grade getGrade(int score)将传递进来的score转化为枚举类型
, >=90 and <=100返回A,
,>=80 and <90 返回B,
,>=70 and <80 返回C,
,>=60 and <70返回D, 其他的返回E

#main方法
输入分数后,调用getGrade函数返回相应的Grade,使用switch根据Grade,根据分数打印不同的评价:
Excellent Good Average Fair Poor
并且每输出一个评语后,要调用如下函数

public static void printGradeInfo(Grade grade){
       System.out.println("class name="+Grade.class);
       System.out.println("grade value="+grade);
}

输入样例:

90
80
70
60

输出样例:

Excellent
class name=class Grade
grade value=A
Good
class name=class Grade
grade value=B
Average
class name=class Grade
grade value=C
Fair
class name=class Grade
grade value=D
/*定义一个枚举类型Grade来表示考试的4个等级,值包含A,B,C,D,E*/
import java.util.*;
enum Grade {
        A,B,C,D,E;
    }
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int score;
        Grade t;
        
        while(in.hasNext()){
            score = in.nextInt();
            t=getGrade(score);
            switch(t){
                case A:System.out.println("Excellent");break;
                case B:System.out.println("Good");break;
                case C:System.out.println("Average");break;
                case D:System.out.println("Fair");break;
                case E:System.out.println("Poor");break;
            }
            printGradeInfo(t);
        }
    }
    public static Grade getGrade(int score){
        if(score>=90 && score<=100)return Grade.A;
        else if(score>=80 && score<90)return Grade.B;
        else if(score>=70 && score<80)return Grade.C;
        else if(score>=60 && score<70)return Grade.D;
        return Grade.E;
    }
    public static void printGradeInfo(Grade grade){
       System.out.println("class name="+Grade.class);
       System.out.println("grade value="+grade);
    }
}

### 回答1: 枚举是一种特殊的数据类型,它可以定义一组常量,这些常量在程序中是固定不变的。枚举常量可以用于代表一些特定的状态或类型,比如星期几、颜色、性别等。在Java中,枚举类型是通过关键字enum来定义的。枚举类型的常量可以通过枚举类型名和常量名来访问,例如:Weekday.MONDAY。枚举类型还可以定义方法和构造函数,以便更好地描述枚举常量的特性和行为。枚举类型Java中广泛应用于各种场景,例如状态机、配置管理、错误码等。 ### 回答2: 枚举(Enumeration)在Java中是一种特殊的数据类型,它是一组有限且已命名的数据项的集合。枚举类型属于引用数据类型,它的每一个成员都是一个常量对象,且不能改变,可以看作一个常量的集合。 枚举类型的定义格式如下: enum 枚举类型名称{ 枚举1, 枚举2, …… 枚举N; } 其中,枚举常量就是指定义在枚举类型中的数据项,每个枚举常量都有一个唯一的名称,并且是用常量大写字母来表示的。我们可以使用枚举类型定义变量,枚举类型变量赋的时候只能取枚举类型中的某一个,不能赋其他类型的枚举类型的最大优点就在于其具备范围固定、安全性高、易于理解的特点。在处理程序中,为了避免输入的数据不符合要求或程序出现异常,我们经常要用到对数据的限制。而对于枚举类型,系统会自动限定它的取,程序员不需要额外考虑对的判断,因此大大简化代码,提高程序的可读性、可维护性。 在Java程序的开发中,枚举类型经常被用在菜单项、操作类型、状态码等等的定义中。比如一个操作系统的文件操作类型就可以定义为枚举类型,包括新建、打开、复制、粘贴、剪切等操作,这样就方便了后续的程序设计。 总之,枚举类型Java程序设计中已经被广泛应用,在一些常量的定义、一些有限数据类型的定义上使用枚举类型能够方便代码的编写,提高程序的可读性并减少程序出错的可能。 ### 回答3: 枚举Java中一种特殊的类,它可以用来定义一组固定的枚举成员就是这组固定的。例如,我们可以定义一个枚举类来表示一周中的每一天: ``` public enum DayOfWeek { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; } ``` 在定义枚举类时,每个枚举成员都是一个对象,它们都是该枚举类的实例。枚举成员的默认为它们在枚举类中的位置,可以通过枚举成员的ordinal()方法获取。 枚举类中可以定义成员变量、构造方法、普通方法和静态方法。枚举成员作为对象,可以调用枚举类中的成员方法。 枚举还可以用在switch语句中,例如: ``` DayOfWeek day = DayOfWeek.MONDAY; switch (day) { case MONDAY: System.out.println("Today is Monday."); break; case TUESDAY: System.out.println("Today is Tuesday."); break; case WEDNESDAY: System.out.println("Today is Wednesday."); break; case THURSDAY: System.out.println("Today is Thursday."); break; case FRIDAY: System.out.println("Today is Friday."); break; case SATURDAY: System.out.println("Today is Saturday."); break; case SUNDAY: System.out.println("Today is Sunday."); break; } ``` 以上代码输出的结果是“Today is Monday.”。 枚举的好处是使代码更容易理解和维护,因为它将具有相同含义的常量组织在一起,而且可以避免使用数字表示常量,增加代码的可读性。另外,枚举还可以提供类型安全检查,避免类型错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值