码迷,mamicode.com
首页 > 编程语言 > 详细

java万年历

时间:2018-02-01 22:06:29      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:int()   next   calendar   generate   else   oid   []   等于   system   

import java.util.Scanner;

public class perpetualCalendar {

   public static void main(String[] args) {   

    // TODO Auto-generated method stub   

    int year;//年   

    int month;//月   

    int day=0;//天数   

    boolean ren;//是闰年为true,不是为false   

    int totalDays=0;//1900年到现在的总天数   

      System.out.println("*****************万年历*****************");   

    Scanner input = new Scanner(System.in);   

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

    year = input.nextInt();

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

    month = input.nextInt();   

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

      ren = true;   }

    else {    ren = false;   

    }   

    //计算1900年到今年的总天数   

    for(int i = 1900;i<year;i++) {    

      if(ren) {     

        totalDays = totalDays+366;    

      }else {     

      totalDays = totalDays+365;    

      }  

     }   

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

      switch(i) {    

      case 1:    

      case 3:    

      case 5:    

      case 7:    

      case 8:    

      case 10:    

      case 12:     

        day = 31;     

        break;    

      case 4:    

      case 6:    

      case 9:   

       case 11:     

        day=30;     

        break;    

      case 2:    

         if(ren) {      

        day = 29;     

        }

        else{      

        day = 28;     

        }     

        break;    

      default:     

      System.out.println("月份输入有误");    

      }    

      //为了使day的值等于查找月份的天数,并不会加到总天数里    

      if(i!=month) {     

        totalDays = totalDays+day;//总年数的天数加上查找月份之前月份的天数    

      }   

    }      

 

    //求星期几,就是前面\t的个数   

    int beforDays;   

    beforDays = 1 + totalDays%7;   

    if(beforDays == 7) {    

      beforDays = 0;//代表星期天,0个\t   

    }   

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

    //先打印\t   

    for(int i=0;i<beforDays;i++) {     

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

    }   

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

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

      //满七个换行   

      if((i+beforDays)%7==0) {     

        System.out.println();    

      }   

    }   

    //System.out.println(month+"月有"+day+"天");     

  }

}

java万年历

标签:int()   next   calendar   generate   else   oid   []   等于   system   

原文地址:https://www.cnblogs.com/liubing2018/p/8401329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!