基础测试的一道题:
编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
import java.text.*;
import java.util.*;
import java.io.*;
class Test9
{
public static void main(String[] args)
{
while(true)
{
try
{
//键盘录入。
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
System.out.println("输入日期(格式要求:yyyy-MM-dd):");
String line=bufr.readLine();
//给定结束条件。
if("over".equals(line))
break;
//输入的日期格式解析设置。
DateFormat df = DateFormat.getDateInstance(); //获取日期格式器。
Date da = df.parse(line);//给定字符解析出一个日期。
Calendar c = Calendar.getInstance(); //将日历设置为输入值。
c.setTime(da);
//获取所需的星期及年中第几天。
System.out.println("当前的日期是:"+GetWeek(c.get(Calendar.DAY_OF_WEEK)));
System.out.println("当前是一年中第"+c.get(Calendar.DAY_OF_YEAR)+"天");
}
catch(Exception e)
{
System.out.println("格式错误");
}
}
}
//将数字星期换成中文星期。
public static String GetWeek(int x)
{
//数组角标从0开始,国外解析的星期“1”相当于我国的星期日。
String[] week={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六 "};
return week[x];
}
}
|
|