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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cheukfan 中级黑马   /  2016-11-30 15:19  /  869 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package lianxi;
/*键盘输入年份输出日历
  
  先区分年
        平年 365  
        闰年 366

  区分月:
          2月份:
                28天   
                29天
          其他分月:
                月大31天
                月小30天

*/
import java.util.Scanner;
public class Test16{
        public static void main(String args[]){
                Scanner in=new Scanner(System.in);
                System.out.println("请输入年份");
                int year=in.nextInt();
                System.out.println("请输入月份");
                int month=in.nextInt();
                int day;
                int sum=0;
                for(int i=1900;i<year;i++){
                        if(i%4==0&&i%100!=0||i%400==0){
                                sum=sum+366;
                        }else{
                                sum=sum+365;
                        }
                }
                for(int i=1;i<month;i++){
                        if(i==2){
                                if(year%4==0&&year%100!=0||year%400==0){
                                        sum=sum+29;
                                }else{
                                        sum=sum+28;                        
                                }
                        }else {
                                if(i==4||i==6||i==9||i==11){
                                        sum=sum+30;
                                }else{
                                        sum=sum+31;
                                }                        
                        }
                }
                sum=sum+1;
                int wekday =sum%7;   
                System.out.println("日\t一\t二\t三\t四\t五\t六\t");
                for(int i=1;i<=wekday;i++){
                        System.out.print("\t");
                }
                if(month==2){
                        if(year%4==0&&year%100!=0||year%400==0){
                                day=29;
                        }else{
                                day=28;
                        }
                }else{
                        if(month==4||month==6||month==9||month==11){
                                day=30;
                        }else{
                                day=31;
                        }
                }
                for(int i=1;i<=day;i++){
                        if(sum%7==6){
                                System.out.print(i+"\n");
                        }else{
                                System.out.print(i+"\t");
                        }
                        sum++;
                }
               
        }
}

2 个回复

倒序浏览
不错不错!!!
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马