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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 花陌相惜 中级黑马   /  2016-8-1 22:16  /  1826 人查看  /  13 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

public class Demo03 {

         public static void main(String[] args) throws Exception {
                /* 1.分析以下需求,并用代码实现:
                        (1)通过键盘录入日期字符串,格式(2015-10-20)
                        (2)输出该日期是星期几及这一年的第几天
                        (3)如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是  2015年的第 293 天"*/
                 
                 Scanner sc = new Scanner(System.in);
                 System.out.println("兄弟,请输入日期,格式(2015-10-20)");
                 String str = sc.nextLine();
                 readDate(str);
        }

        private static void readDate(String str) throws Exception {
                // Date 精确的时间   Calendar -->是星期几,一年中的第几天
            // sdf.format(Date date) --->String    sdf.parse(String str)  --->Date
           SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  // 试试小写
           Date needDate = sdf.parse(str);   
           //需要转化的格式
           SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年-MM月-dd日");
           //转化过后的格式
           String format = sdf2.format(needDate);
           Calendar c = Calendar.getInstance();   //获得日历类实例
           //告诉Java 我们要操作的是哪一天
           c.setTime(needDate);
           int week = c.get(Calendar.DAY_OF_WEEK);  // --->外国人 1- 7  1 是星期日   7是星期六
           int day = c.get(Calendar.DAY_OF_YEAR);   // 一年中的第几天
           int year = c.get(Calendar.YEAR);
           // 通过Calendar 获得的星期转化我们真正需要的日期
         
          // 如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是  2015年的第 293 天"*/
           System.out.println(format +"是"+ readWeek(week)+ ",是"+year+"年的第"+day+"天" );
          
        }
        //外国认为第一天是星期天,中国认为第一天就是星期一
        private static String readWeek(int week) {
                //用空来代表第一个, 因为星期是1-7
                String [] strArr = {  "","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
                return strArr[week];
        }
}

13 个回复

倒序浏览
不错,不错
回复 使用道具 举报
还考这个啊
回复 使用道具 举报

老师说这是以前的点招题  所以你懂的
回复 使用道具 举报
小伙子头像不错
回复 使用道具 举报
good job!  66666666
回复 使用道具 举报
这个比较赞
回复 使用道具 举报
本帖最后由 w1204808093 于 2016-9-29 19:40 编辑

package com.heima.test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class test7 {

        /**
         * 1.分析以下需求,并用代码实现:
        (1)通过键盘录入日期字符串,格式(2015-10-20)
        (2)输出该日期是星期几及这一年的第几天
        (3)如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是  2015年的第 293 天"
         * @throws Exception
         */
        public static void main(String[] args) throws Exception {
                // TODO Auto-generated method stub
                Scanner sc=new Scanner(System.in);
                System.out.println("请输入日期字符串,格式(2015-10-20)");
                String line=sc.nextLine();
                String[] split = line.split("-");
                int year=Integer.parseInt(split[0]);
                int month=Integer.parseInt(split[1]);
                int day=Integer.parseInt(split[2]);
                //创建Calendar对象
                Calendar c=Calendar.getInstance();
                c.set(year, month-1, day);
                System.out.println(c.get(Calendar.YEAR) + "年" + (c.get(Calendar.MONTH)+1)
                                + "月" + c.get(Calendar.DAY_OF_MONTH) + "日是 " + getWeek(c.get(Calendar.DAY_OF_WEEK))+",是"+
                                c.get(Calendar.YEAR)+"年的第"+c.get(Calendar.DAY_OF_YEAR)+"天");
           
        }
        public static String getWeek(int week){
                String[] arr={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
                return arr[week];
               
        }
        
}

回复 使用道具 举报
package com.heima.test;  import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Scanner;  public class test7 {          /**          * 1.分析以下需求,并用代码实现:         (1)通过键盘录入日期字符串,格式(2015-10-20)         (2)输出该日期是星期几及这一年的第几天         (3)如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是  2015年的第 293 天"          * @throws Exception           */         public static void main(String[] args) throws Exception {                 // TODO Auto-generated method stub                 Scanner sc=new Scanner(System.in);                 System.out.println("请输入日期字符串,格式(2015-10-20)");                 String line=sc.nextLine();                 String[] split = line.split("-");                 int year=Integer.parseInt(split[0]);                 int month=Integer.parseInt(split[1]);                 int day=Integer.parseInt(split[2]);                 //创建Calendar对象                 Calendar c=Calendar.getInstance();                 c.set(year, month-1, day);                 System.out.println(c.get(Calendar.YEAR) + "年" + (c.get(Calendar.MONTH)+1)                                  + "月" + c.get(Calendar.DAY_OF_MONTH) + "日是 " + getWeek(c.get(Calendar.DAY_OF_WEEK))+",是"+                                 c.get(Calendar.YEAR)+"年的第"+c.get(Calendar.DAY_OF_YEAR)+"天");                          }          public static String getWeek(int week){                 String[] arr={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};                 return arr[week];                          }          }
回复 使用道具 举报
点招的题会不会很难啊
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
不错
回复 使用道具 举报
完了,这玩意儿都忘了。。。。
回复 使用道具 举报
现在还看不太懂
回复 使用道具 举报
赞,也是经典
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马