A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,
程序计算这一天是星期几,并且计算出是一年中的第几天
看别人写的程序,感觉不是很好,就自己写了个,大家给看看如何!!!!
思路:
1、用户输入数据
2、用使用simpDateFormate指定格式接收该时间的字符串转换成日期类
3、将接受的日期类使用calendar类的setTime(Date date )方法
4、再使用其get()方法获取相应的时间参数

  1. public class Demo {
  2. public static void main(String[] args) throws ParseException {
  3.   //创建键盘输入对象
  4.   Scanner sca=new Scanner(System.in);
  5.   System.out.println("请按照yyyy-MM-dd的格式输入要制定的日期");
  6.   String str=sca.next();//使用一个字符串接收输入的日期
  7.   SimpleDateFormat simp=new SimpleDateFormat("yyyy-MM-dd");//创建对象,指定日期格式
  8.   Date dat=simp.parse(str); //将字符串转换成日期对象
  9.   Calendar cal=Calendar.getInstance();//创建calendar对象
  10.   cal.setTime(dat);//设置时间
  11.   int year=cal.get(Calendar.YEAR);//提取年
  12.   System.out.println("这是"+year+"年");
  13.   int month1=cal.get(Calendar.MONTH);
  14.   System.out.println(month1);
  15.   int dayofWeek=cal.get(Calendar.DAY_OF_WEEK);
  16.   int dayofyear=cal.get(Calendar.DAY_OF_YEAR);
  17.   System.out.println("这是一年中的第"+dayofyear+"天");
  18.   System.out.println("这是一周的第"+dayofWeek+"天");
  19. }
  20. }
复制代码



4 个回复

倒序浏览
有没有更好的的方法呢,大家好好商量一下
回复 使用道具 举报
楼主可以看看Calendar类中的setTime()方法,那个也同样可以实现你的程序中的功能。
回复 使用道具 举报
太吊了,最近的方法学太多,看了只有终于把作业学出来了
回复 使用道具 举报
我今天晚上刚刚写的,day14的作业。。。

public class Test_Calendar {

        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个日期字符串,如2015-10-20:");
                String date = sc.nextLine();
                String[] str = date.split("-");
                int year = Integer.parseInt(str[0]);
                int month = Integer.parseInt(str[1]);
                int day = Integer.parseInt(str[2]);
                Calendar c = Calendar.getInstance();
                c.set(year, month - 1, day);
                System.out.println(year + "年-" + month + "月-" + day + "日是"
                                + getWeek(c.get(Calendar.DAY_OF_WEEK)) + ",是" + year + "年的第"
                                + c.get(Calendar.DAY_OF_YEAR) + "天");

        }
       
        public static String getWeek(int week) {
                String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};       
                return arr[week];
        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马