黑马程序员技术交流社区

标题: 输入日期打印日历 [打印本页]

作者: cheukfan    时间: 2016-11-30 15:19
标题: 输入日期打印日历
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++;
                }
               
        }
}
作者: aA772807986    时间: 2016-11-30 18:26
不错不错!!!
作者: mjchzhl    时间: 2016-12-1 08:49
学习学习





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