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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 气势如虹 中级黑马   /  2016-7-4 21:41  /  309 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.Scanner;
class WNL{
        public static void main(String[] args) {
                // 计算  输入的日期到 1900年  1月1号  过的的总天数;
               
                // 累加求和;
                int[] arr= sc();
                int sum = getSum(arr[0],arr[1]);
                print((sum+1)%7,arr[1],arr[0]);

        }
        public static int[] sc(){
                Scanner in = new Scanner(System.in);
                System.out.println("输入年份");
                int year = in.nextInt();
                System.out.println("输入月份");
                int month = in.nextInt();
                return  new int[]{year,month};
        }
        public static void print(int space,int month,int year){
                int day = 0;
                switch(month){
                        case 2:
                        if((year%4==0&&year%100!=0)||(year %400 == 0)){
                                        day = 29;
                                }else{
                                        day = 28;
                                }
                        break;
                        case 4:
                        case 6:
                        case 9:
                        case 11:
                                day = 30;
                                break;
                        default:
                                day =31;
               
                }
                //打印日历  2016 7 ;
                System.out.println("日\t一\t二\t三\t四\t五\t六");// 打印表头
                 //打印 天数;
                 for(int i = 1; i<=day+space; i++){
                        if(i<=space){
                                System.out.print("\t");
                        }else{
                                if(i%7 == 0){
                                        System.out.println(i-space+"\t");
                                }else{
                                        System.out.print(i-space+"\t");

                                }
                        }
                       
                 }
       
        }
        // 累加求和的方法;
        public static int getSum(int year, int month){
                int sum = 0;
                // 求出  1900 到 year 过去的总天数;
                for(int i = 1900 ; i < year; i++ ){
                        if((i%4==0&&i%100!=0)||(i %400 == 0)){
                                // 闰年 ;
                                sum += 366;
                        }else{
                                // 平年
                                sum += 365;
                        }
                }
                //求出 过去的月份天数;
                switch(month-1){
                        case 12 :
                                sum += 31;
                        case 11:
                                sum += 30;
                        case 10 :
                                sum += 31;
                        case 9:
                                sum += 30;
                        case  8:
                                sum += 31;
                        case 7:
                                sum += 31;
                        case 6:
                                sum += 30;
                        case 5:
                                sum += 31;
                        case 4 :
                                sum += 30;
                        case 3:
                                sum += 31;
                        case 2 :
                                if((year%4==0&&year%100!=0)||(year %400 == 0)){
                                        sum += 29;
                                }else{
                                        sum += 28;
                                }
                        case 1:
                                sum += 31;
                }
                return sum;
        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马