jmu-枚举WeekDay(补全代码)
程序员文章站
2022-03-27 12:56:21
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar...
题目要求
本题要求编写一个枚举类WeekDay,包含周一至周日7个常量。7个常量的名字为对应的英文单词大写,常量的顺序则可观察样例获得。
本题还要求编写将从控制台输入的字符串转化为WeekDay类型变量,然后使用swith根据该变量执行相应代码。
最后,本题要求输出统计结果,并得到WeekDay的常量数组,然后对其进行排序并输出。以下为代码框架,请在相应位置补全代码:
import java.util.Arrays;
import java.util.Scanner;
//这里编写泛型类WeekDay的定义
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//这里包含一些用于统计的初始化代码
try {
while(sc.hasNext()) {
String weekDayStr = sc.next();
//这里编写将weekDayStr转化为WeekDay类型变量x的代码
//这里编写使用switch根据x类型输出对应信息并统计的代码
}
}
} catch (Exception e) {
System.out.println("输入错误");
}
//这里输出统计信息
//这里编写获得WeekDay常量数组并将其转化为String数组a的代码
//这里编写将a数组排序并打印出来的代码
sc.close();
}
}
输入格式
输入一些字符串,代表字符常量x
输出格式
当输入的是工作日,输出:x是工作日, 序号为y;当输入的是休息日,输出:x是工作日, 序号为y
统计结果:
按顺序排序的常量数组字符串表达形式
输入样例:
MONDAY
TUESDAY
SUNDAY
FRIDAY
SATURDAY
THURSDAY
wednesday
输出样例
MONDAY是工作日, 序号为1
TUESDAY是工作日, 序号为3
SUNDAY是休息日, 序号为0
FRIDAY是工作日, 序号为4
SATURDAY是休息日, 序号为6
THURSDAY是工作日, 序号为5
输入错误
工作日共4天
休息日共2天
[FRIDAY, MONDAY, SATURDAY, SUNDAY, THURSDAY, TUESDAY, WEDNESDAY]
代码如下
import java.util.*;
//这里编写泛型类WeekDay的定义
enum WeekDay{
SUNDAY,MONDAY,WEDNESDAY,TUESDAY,FRIDAY,THURSDAY,SATURDAY
}
public class Main {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc = new Scanner(System.in);
//这里包含一些用于统计的初始化代码
int s = 0, r = 0;
try {
while(sc.hasNext()) {
String weekDayStr = sc.next();
WeekDay x;
x = Enum.valueOf(WeekDay.class,weekDayStr );
switch(x) {
case SUNDAY:System.out.println(x+"是休息日, 序号为"+WeekDay.SUNDAY.ordinal());
s++;
break;
case MONDAY:System.out.println(x+"是工作日, 序号为"+WeekDay.MONDAY.ordinal());
r++;
break;
case TUESDAY:System.out.println(x+"是工作日, 序号为"+WeekDay.TUESDAY.ordinal());
r++;
break;
case WEDNESDAY:System.out.println(x+"是工作日, 序号为"+WeekDay.WEDNESDAY.ordinal());
r++;
break;
case THURSDAY:System.out.println(x+"是工作日, 序号为"+WeekDay.THURSDAY.ordinal());
r++;
break;
case FRIDAY:System.out.println(x+"是工作日, 序号为"+WeekDay.FRIDAY.ordinal());
r++;
break;
case SATURDAY:System.out.println(x+"是休息日, 序号为"+WeekDay.SATURDAY.ordinal());
s++;
break;
}
//这里编写将weekDayStr转化为WeekDay类型变量x的代码
//这里编写使用switch根据x类型输出对应信息并统计的代码
}
} catch (Exception e) {
System.out.println("输入错误");
}
//这里输出统计信息
System.out.println("工作日共"+r+"天");
System.out.println("休息日共"+s+"天");
//这里编写获得WeekDay常量数组并将其转化为String数组a的代码
String[] a = {"SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"};
/*String[] a = new String[7];
a[0] = WeekDay.FRIDAY.toString();
a[1] = WeekDay.MONDAY.toString();
a[2] = WeekDay.SATURDAY.toString();
a[3] = WeekDay.SUNDAY.toString();
a[4] = WeekDay.THURSDAY.toString();
a[5] = WeekDay.TUESDAY.toString();
a[6] = WeekDay.WEDNESDAY.toString();*/
Arrays.sort(a);
System.out.print("[");
for(int i = 0; i<7; i++){
System.out.print(a[i]);
if(i+1<7)
System.out.print(", ");
}
System.out.println("]");
//这里编写将a数组排序并打印出来的代码
sc.close();
}
}
结果如下:
本文地址:https://blog.csdn.net/m0_53062159/article/details/110422785
上一篇: 数据库增删改查
下一篇: 零基础学Java-基础语法篇(方法)