Java基础编程小练习——日历

注: 根据网络视频资源做的小练习

6.简单日历(思路:1.求月份的第一天为星期几   对天数进行7取模  2.当月有多少天)

/*

 *1900.1.1----2012.9.1

  */

 

public class rili {

                   publicstatic void main(String[] args){

                                     intsum=0;

                                     for(intyear=1900;year<=2011;year++){

                                               if(year%4==0&& year%100!=0 || year%400==0){

                                                        sum+=366;

                                               }else{

                                                        sum+=365;

                                               }

                                     }

                                    

                                     for(intmonth=1;month<=8;month++){

                                               if(month==2){

                                                                 if(2016%4==0&& 2016%100!=0 || 2016%400==0){

                                                                           sum+=29;

                                                                 }else{

                                                                           sum+=28;

                                                                 }                                                      

                                               }else{

                                                        if(month==4||month==6||month==9||month==11){

                                                                 sum+=30;

                                                        }else{

                                                                 sum+=31;

                                                        }

                                               }

                                     }

                                     sum+=1;

                                    

                                int weekday=sum%7;

                                System.out.println("日\t一\t二\t 三\t四\t五\t六");

                                for(int i=1;i<=weekday;i++){

                                         System.out.print("\t");

                                }

                                System.out.print("1");

                   }

}  结果:

日   一   二     三     四         五        六

                                                                                    1    

                                    


修改版

/*

 *1900.1.1----2012.9.1

  */

 

public class rili {

                   publicstatic void main(String[] args){

                                     intsum=0;

                                     for(intyear=1900;year<=2011;year++){

                                               if(year%4==0&& year%100!=0 || year%400==0){

                                                        sum+=366;

                                               }else{

                                                        sum+=365;

                                               }

                                     }

                                    

                                     for(intmonth=1;month<=8;month++){

                                               if(month==2){

                                                                 if(2016%4==0&& 2016%100!=0 || 2016%400==0){

                                                                           sum+=29;

                                                                 }else{

                                                                           sum+=28;

                                                                 }                                                      

                                               }else{

                                                        if(month==4||month==6||month==9||month==11){

                                                                 sum+=30;

                                                        }else{

                                                                 sum+=31;

                                                        }

                                               }

                                     }

                                     sum+=1;

                                    

                                int weekday=sum%7;

                                System.out.println("日\t一\t二\t 三\t四\t五\t六");

                                for(int i=1;i<=weekday;i++){

                                         System.out.print("\t");

                                }

                               for(int i=1;i<=30;i++){

                                        if(sum%7==6){

                                                  System.out.print(i+"\n");

                                        }else{

                                                  System.out.print(i+"\t");

                                        }

                                        sum++;

                               }

                   }

}



最终版:

import java.util.Scanner;

public classrili2 {

        public static void main(String[] args){

                Scanner in=new Scanner(System.in);

                System.out.print("请输入年份:");

                int year1=in.nextInt();

                System.out.print("请输入月份:");

                intmonth1=in.nextInt();

                int sum=0;

                for(intyear=1900;year<year1;year++){

                    if(year%4==0 && year%100!=0|| year%400==0){

                        sum+=366;

                    }else{

                        sum+=365;

                    }

                }

               

                for(int month=1;month<month1;month++){

                    if(month==2){

                            if(year1%4==0 &&year1%100!=0 || year1%400==0){

                                sum+=29;

                            }else{

                                sum+=28;

                            }                      

                    }else{

                        if(month==4||month==6||month==9||month==11){

                            sum+=30;

                        }else{

                            sum+=31;

                        }

                    }

                }

               

                int day=0;

               

                    if(month1==2){

                            if(year1%4==0 &&year1%100!=0 || year1%400==0){

                                day=29;

                            }else{

                                day=28;

                            }                      

                    }else{

                        if(month1==4||month1==6||month1==9||month1==11){

                            day=30;

                        }else{

                            day=31;

                        }

                    }

                sum+=1;

                int weekday=sum%7;

                System.out.println("\t\t\t\t\t\t");

                for(int i=1;i<=weekday;i++){

                System.out.print("\t");

                }

               for(inti=1;i<= day;i++){

                   if(sum%7==6){

                       System.out.print(i+"\n");

                   }else{

                       System.out.print(i+"\t");

                   }

                   sum++;

               }

        }

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值