训练2:星期枚举(1.将字符串转换为枚举类型;2.两个定义枚举常量的形式:直接定义输入内容(输出内容);遍历枚举,中英文定义,用switch判断,即使输入错误返回星期一)

文章提供了两种方法使用Java枚举类型处理星期的中英文转换。方法一是通过枚举常量直接关联中英文对照,方法二是利用switch语句根据输入的英文简写获取对应的枚举值。两种方法均实现了从控制台读取用户输入的英文星期简写并输出其对应的中英文名称。
摘要由CSDN通过智能技术生成

训练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();

	}

}

运行结果如图所示

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值