Java基礎複習——枚舉類

7-2 jmu-Java-02基本語法-06-枚舉 (3 分)

定義一個枚舉類型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

分析:枚舉類是一個數據類別,而不是一個類,這點需要注意,而且枚舉類別不能像其他類型一樣定義在函數體內,作爲本地類型來使用,這就是枚舉類型的一個特別之處,也就是說,枚舉類型是一個定義在其他類以外的類型,總體上看不像是一個類,而是一中數據類型,因爲它裏面不能自定義函數,也不具有構造方法,但是有着類一樣的結構還有方法調用,這裏基本理解使用方法即可

(public) enum 枚舉類型名稱{ 枚舉對象1,枚舉對象2,枚舉對象3... }//內直接寫對象名稱,不用考慮類型

如:

public enum gender{
 Male,Female
}//這樣就是定義了一個枚舉類型gender,這個類型裏只有男性和女性兩個值而沒有其他類型,這樣的設計通常會去迎合一些特殊要求

這之後就可以直接使用了,調用枚舉類型中的內容的方式和調用方法有點像,即有:

gender.Male

這樣就可以返回出Male這個屬性值了。

而這個題目的基本草稿也可以這樣寫出:

import java.util.*;
class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int score = sc.nextInt();
		System.out.println(getGrade(score));
		sc.close();
	}
	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;
		}
		else {
			return Grade.E;
		}
	}
}
enum Grade{//定義枚舉類
	A,B,C,D,E;
}

這裏簡單介紹了枚舉類型的方法,包括定義方法與基本使用方法,而具體的各種高級使用,以後會慢慢分析介紹。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章