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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.*;

class Test{
        //输入一个年月日,判断这一天是这个年的第多少天
        /*
        首先从控制台输入年月日 用输入流控制       
       
        */
        public static void main(String[] args){
        //依次输入年月日,需要判断年月日输入是否正确,不正确重新输入
                int year,month,day;
                int days=0;
                int d=0;
                Input in=new Input();
                //定义一个布尔型变量 控制 do while 循环 先让y=false,然后执行语句,如果出现错误y=true,然后重新运行
                boolean y;
                do{
                         y=false;
                        System.out.println("请输入年份");
                        year=in.input();
                        System.out.println("输入的年份为"+year);
                       
                        System.out.println("请输入月份");
                        month=in.input();
                        System.out.println("输入的月份为"+month);
                       
                        System.out.println("请输入日期");
                        day=in.input();
                        System.out.println("输入的日期为"+day);
                        if(month<0||month>12||day<0||day>31){
                                y=true;
                                System.out.println("输入错误,请重新输入");
                          
                        }


                }while(y);
                //接下来计算这天是这一年的哪一天 首先每个月多少天计算出来 一三五七八十蜡 三十一天永不差
               
                // 判断二月是闰年还是平年 闰年29 天 平年 28天 用switch结构.用for循环 将每个月的天数加起来
                for(int i=1;i<month;i++){
                        switch(i){
                                case 1:
                                case 3:
                                case 5:
                                case 8:
                                case 10:
                                case 12:
                                days=31;
                                break;
                                case 4:
                                case 6:
                                case 7:
                                case 9:
                                case 11:
                                days=30;
                                break;
                               
                                case 2:
                                if(year%400==0||(year%4==0&&year%100!=0)){
                                        days=29;
                               
                                }else{
                                        days=28;
                                }
                                break;
                        }
               
                d+=days;
                }
                System.out.println("输入的年月日为"+year+"-"+month+"-"+day);
                 
                System.out.println("这是一年中的第"+(d+day)+"天");
               
               
        }
       

}
class Input{

        public static  int input(){
                int value=0;
                Scanner s=new Scanner(System.in);
                value=s.nextInt();
                return value;
               
        }
}

2 个回复

倒序浏览
自己搞出来了
回复 使用道具 举报
自己赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马