- /**
- * 第九题: 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,
- * 程序计算这一天是星期几,并且计算出是一年中的第几天。
- */
- import java.util.*;
- class Test9
- {
- public static void main(String[] args)
- {
- sop("请按“yyyy-MM-dd”的格式输入一个日期:");
- //系统提示输入范围
- Scanner input = new Scanner(System.in);
- String num = input.nextLine();
- //初始化接收键盘输入的scanner变量,并转化为字符串
- sop(theDay(num));
- input.close();
- }
- public static String theDay(String time)
- //输入“yyyy-MM-dd”的格式日期,计算星期几、一年中的第几天
- {
- String[] s_arr = time.split("-");
- //提取字符串中数值
- Integer[] I_arr = new Integer[3];
- for (int i = 0;i<I_arr.length ;i++ )
- {
- I_arr[i] = Integer.parseInt(s_arr[i]);
- }
- //将字符串数组转化为Integer数组
- Calendar date = Calendar.getInstance();
- //获取一个Calendar对象
- date.set(I_arr[0],I_arr[1],I_arr[2]);
- String[] week = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
- //查表法获取星期,因为get(Calendar.DAY_OF_WEEK)返回值是1~7,
- //为了对应角标,星期表中用空字符串填充0角标元素
- int index = date.get(Calendar.DAY_OF_WEEK);
- //获取星期角标
- int day = date.get(Calendar.DAY_OF_YEAR);
- //获取目标日期在当年的天数
- String str = time+"是"+week[index]+" 当年第"+day+"天";
- return str;
- }
- public static void sop(Object t)
- //打印功能
- {
- System.out.println(t);
- }
- }
复制代码
|
|