黑马程序员技术交流社区

标题: 一道很简单的编程题,帮帮忙,菜鸟无助 [打印本页]

作者: LTT    时间: 2015-5-17 23:51
标题: 一道很简单的编程题,帮帮忙,菜鸟无助
编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
作者: fenglinluomu    时间: 2015-5-18 00:04
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.text.DateFormat;
  5. import java.text.ParseException;
  6. import java.text.SimpleDateFormat;
  7. import java.util.Calendar;
  8. import java.util.Date;

  9. public class Test9 {

  10.         public static void main(String[] args) throws IOException, ParseException {
  11.                 /*
  12.                  * 思路:
  13.                  * 先将读取到的日期字符串转换成日期对象
  14.                  * 然后利用Calendar类中的方法得到星期,一年的第多少天
  15.                  */
  16.                
  17.                 System.out.println("请输入一个日期,格式为:yyyy-MM-dd");
  18.                
  19.                 //创建输入流,读取一行
  20.                 String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
  21.                
  22.                 //将日期字符串转换成日期对象
  23.                 DateFormat dateFormat = DateFormat.getDateInstance();
  24.                 dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  25.                 Date date = dateFormat.parse(str);
  26.                
  27.                 //获得星期,并计算是一年中的第几天
  28.                 Calendar c = Calendar.getInstance();
  29.                 c.setTime(date);
  30.                 String week = getWeek(c.get(Calendar.DAY_OF_WEEK));
  31.                 System.out.println("这一天是"+week);
  32.                 System.out.println("这是一年中的第"+c.get(Calendar.DAY_OF_YEAR)+"天");
  33.                
  34.         }
  35.         //使用字符串数组定义对应关系表
  36.         public static String getWeek(int i) {

  37.                 String[] weeks = { "", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };

  38.                 return weeks[i];
  39.         }

  40. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2