训练2:星期枚举(将字符串转换为枚举类型)
控制台输入要查询的英文星期简写(小写,如:mon)后,控制台输出该星期简称的中英文对照(例如:MONDAY —— 星期一)。
方法一、枚举常量形式:输入内容(中英文对照)
/*训练2:星期枚举(将字符串转换为枚举类型)
* 控制台输入要查询的英文星期简写(小写,如:mon)后,控制台输出该
* 星期简称的中英文对照(例如:MONDAY —— 星期一)。
* */
package mjlx;
import java.util.Scanner;
enum week{
mon("MONDAY —— 星期一"),
tue("TUESDAY —— 星期二"),
wed("WEDNESDAY —— 星期三"),
thu("THURSDAY —— 星期四"),
fri("FRIDAY —— 星期五"),
sat("SATURDAY —— 星期六"),
sun("SUNDAY —— 星期日");
private String remarks;
private week(String remarks) {
this.remarks = this.toString()+"对应的中英文对照:"+remarks+"。";
}
public String getMessage() {
return remarks;
}
}
public class Xl2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println("请输入要查询的英文星期简写(如:mon):");
Scanner sc = new Scanner(System.in);
week str_week = week.valueOf(sc.next());
week we[] = week.values();
for(int i = 0;i < we.length;i++) {
if(str_week == we[i]) {
System.out.println(we[i].getMessage());
}else {
System.out.println("您的输入内容有误!");
}
}
sc.close();
}
}
运行结果如图所示
方法二、switch语句:枚举常量的形式:英文星期(中文星期)
package mjlx;
import java.util.Scanner;
enum Weekk{
MONDAY("星期一"),TUESDAY("星期二"),WEDNESDAY("星期三"),
THURSDAY("星期四"),FRIDAY("星期五"),SATURDAY("星期六"),
SUNDAY("星期日");
private String week; //定义一个临时变量
private Weekk(String week) {
this.week = week;
}
public String getName() {
return week;
}
public static Weekk getWeek(String week) { // 静态方法,用来根据输入获取对应的Week枚举值
switch(week) {
case "mon":
return Weekk.MONDAY;
case "tues":
return Weekk.TUESDAY;
case "wed":
return Weekk.WEDNESDAY;
case "thru":
return Weekk.THURSDAY;
case "fri":
return Weekk.FRIDAY;
case "sat":
return Weekk.SATURDAY;
case "sun":
return Weekk.SUNDAY;
default:
return Weekk.MONDAY;
}
}
}
public class Xl22 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println("————————————中英文星期对照表——————————");
Weekk we[] = Weekk.values(); // 遍历枚举常量
for(Weekk k:we) {
System.out.println(k+"————"+k.getName());
}
System.out.println("\n请输入要查询的英文星期简写(小写):");
Scanner sc = new Scanner(System.in);
Weekk week = Weekk.getWeek(sc.next()); // 返回输入对应的枚举值
switch(week) {
case MONDAY:
System.out.println("MONDAY——————"+week.getName());
break;
case TUESDAY:
System.out.println("TUESDAY——————"+week.getName());
break;
case WEDNESDAY:
System.out.println("WEDNESDAY——————"+week.getName());
case THURSDAY:
System.out.println("THURSDAY——————"+week.getName());
case FRIDAY:
System.out.println("FRIDAY——————"+week.getName());
case SATURDAY:
System.out.println("SATURDAY——————"+week.getName());
case SUNDAY:
System.out.println("SUNDAY——————"+week.getName());
default:
System.out.println("您的输入有误!");
break;
}
sc.close();
}
}
运行结果如图所示