黑马程序员技术交流社区

标题: 基础测试题 [打印本页]

作者: fxwb2005    时间: 2014-8-3 18:23
标题: 基础测试题
本帖最后由 fxwb2005 于 2014-8-3 20:49 编辑

编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
这题是唯一一个完全没有写出来的题。
作者: sunshine9091    时间: 2014-8-3 18:40
其他题目呢,可以分享一下吗?
作者: Bule丶    时间: 2014-8-3 18:41
我tpc网络编程还没写呢,就差这一道了
作者: icris    时间: 2014-8-3 19:22
  1. Scanner scanner = new Scanner(System.in);
  2. // String source = "2014-08-03";
  3. String source = scanner.nextLine();
  4. String[] daysOfWeek = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
  5. Calendar calendar = Calendar.getInstance();
  6. calendar.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(source));
  7. System.out.println(daysOfWeek[calendar.get(Calendar.DAY_OF_WEEK)-1]);
  8. System.out.println("第"+calendar.get(Calendar.DAY_OF_YEAR)+"天");
  9. scanner.close();
复制代码

作者: /aiq玩完?/aiq    时间: 2014-8-3 20:24
API里面Calendar类中有转换的方法,你找找看。我也不太会。
作者: 楚风★憧憬    时间: 2014-8-3 21:15
package com.itheima;

import java.text.SimpleDateFormat;

import java.util.Date;



/*
9、 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,
程序计算这一天是星期几,并且计算出是一年中的第几天。
*/
public class Test9 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                //创建日期对象
                Date d= new Date();
               
                //对日期格式化
                SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
               
                String date=sdf.format(d);
                System.out.println(date);
               
                getDays();
        }
       
        //计算出这一天星期几和一年中的第几天
        public static void getDays()
        {
                int num=0;
                //循环获取月份中的天数
               
               
                for(int x=1;x<=7;x++)
                {        //判断瑞年或是平年得出2月份中的天数
                        if(x==2)
                        {
                                if(2014%4==0||2014%400==0)
                                {
                                        num+=29;
                                }
                                else
                                {
                                        num+=28;
                                }
                        }else
                        {
                                //判断月大还是月小
                                if(x==4||x==6||x==9||x==11)
                                {
                                        num+=30;
                                }else
                                {
                                        num+=31;
                                }
                        }
                }
               
                //获取7月到现在多少天再加上今天多少号就得出今天在一年中的第几天
               
                num+=27;
                System.out.println("7月27日是一年中的第::"+num+"天");
               
                //获取今天是星期几将总天数%7就可以了
               
                //查表法显示出来好看些。
                String[] weeks={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
               
                int week=(num%7)-1;
                System.out.println(weeks[week]);
               
               
               
               
        }

}


作者: 烟海    时间: 2014-8-3 21:50
查查api里面Calendar  这个方法。。
自己仔细看看。。。就懂了。。。
作者: guanxiangliang    时间: 2014-8-3 21:55
这个超简单的,你去看一下日期类,为什么你的题这么简单
作者: 碎流    时间: 2014-8-3 22:01
不会的路过
作者: jiangweibin2573    时间: 2014-8-3 22:18
还在努力中




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