引入周几的显示,应该如何实现?
引入 zhou 这样一个属性来表示“周几”名称。
(1) 在弹出的快捷菜单中点击“Enum”,
在弹出的对话框中,输入 Weeks,新建一个枚举类 Weeks。
(2) 在生成的 Weeks 枚举类中添加如下一行枚举体({}号内)
public class Testc {
public enum Weeks {
MONDAY("星期一"),
TUESDAY("星期二"),
WEDNESDAY("星期三"),
THURSDAY("星期四"),
FRIDAY("星期五"),
SATURDAY("星期六"),
SUNDAY("星期日");
private String xingqi; //设置私有,体现封装性
private int zhou; //周几名称
Weeks(String xq) {
xingqi = xq;
zhou = '周'+xq.charAt(2);//请在这里填一行语句
}
public String getXingqi() { //提供getter方法,体现服务性
return xingqi;
}
public int getZhou() { // 取周几名称
return zhou;
}
}
public static void main(String[] args) {
int w = (int)(Math.random() * 7 + 1);
String headfmt = "%-4s\t%-22s%s\t%s\n";
System.out.printf(headfmt, "星期数值", "En名称", "Zh星期", "Zh周几");
String fmt = "%-2d\t%-10s%s\t%s\n";
Weeks weeks = Weeks.values()[w - 1];
System.out.printf(fmt, w, weeks,weeks.getXingqi(),weeks.getZhou() );
}
}
与原题有点不一样
public class Testc {
public enum Weeks {
MONDAY("星期一"),
TUESDAY("星期二"),
WEDNESDAY("星期三"),
THURSDAY("星期四"),
FRIDAY("星期五"),
SATURDAY("星期六"),
SUNDAY("星期日");
private String xingqi; //设置私有,体现封装性
private int zhou; //周几名称,原题为String,非int
Weeks(String xq) {
xingqi = xq;
zhou = '周'+xq.charAt(2);//请在这里填一行语句(填空)
}
public String getXingqi() { //提供getter方法,体现服务性
return xingqi;
}
public int getZhou() { // 取周几名称,原题为String,非int
return zhou;
}
}
public static void main(String[] args) {
int w = (int)(Math.random() * 7 + 1);
String headfmt = "%-4s\t%-22s%s\t%s\n";
System.out.printf(headfmt, "星期数值", "En名称", "Zh星期", "Zh周几");
String fmt = "%-2d\t%-10s%s\t%s\n";
Weeks weeks = Weeks.values()[w - 1];
System.out.printf(fmt, w, weeks,weeks.getXingqi(),weeks.getZhou() );
}
}