package com.itheima;
import java.io.*;
import java.util.*;
/*第9题:
* 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
* 思路:1.首先从键盘接收可以使用io的readline方法进行接收
* 2.利用Calenddar自带的方法day_of_week求出是周几,用day_of_year求出是一年中的多少天,用查表法将周几换成中文
*/
public class Test9 {
public static void sop(Object obj){
System.out.println(obj);
}
public static void main(String[] args) throws Exception {
//从键盘上接收所需要查询的时间
sop("请安格式yyyy-MM-dd格式输入一个日期");
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
String str=bufr.readLine();
//将字符串按“-”切割获得所需的内容
String[] arr=str.split("-");
//并将所得转为int格式存储
int m=Integer.parseInt(arr[0]);
int n=Integer.parseInt(arr[1]);
int p=Integer.parseInt(arr[2]);
weekofday(m,n,p);
}
public static void weekofday(int m,int n, int p){
String[] arr={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
Calendar a= Calendar.getInstance();/*由于Calendar是一个抽象类故而不可直
接实例化,但其中getinstance方
法是静态方法且已经写出故可以直接调用*/
int year,month,day;
year=m;month=n;day=p;
a.set(year,month-1,day);
//显示是周几
sop(arr[a.get(Calendar.DAY_OF_WEEK)-1]);
//显示是一天的第几天
sop(a.get(Calendar.DAY_OF_YEAR));
}
}
|
|