使用java 打印日历

Posted 帅朱朱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用java 打印日历相关的知识,希望对你有一定的参考价值。

package hangshu;

/*  

  * 打印从1900年到2、year年的日历

 */

import java.util.Scanner;

public class Calender {  

  public static int year = Integer.MIN_VALUE;  

  public static int month = Integer.MIN_VALUE;

  private static int[] m = {31,28,31,30,31,30,31,31,30,31,30,31};  

  public static void main(String[] args) {  

         // TODO Auto-generated method stub   

    InputYearAndAay(); //输入年月   

    printBiaotou();  //打印表头   

    printCanlender(); //打印日历  

  }  

//打印日历  

private static void printCanlender() {   

  int sum=getSumYear();   

   sum+=getSumMonth();   

  int count = sum%7;  

   for(int i=0;i<=count-1;i++)    

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

  for(int i=1;i<=m[month-1];i++)   

  {    

     System.out.print(i+"\t");    if(sum%7 == 6)     System.out.print("\n");    sum++;  

   }

 }

 //计算year总天数

 private static int getSumYear(){  

   int sum = 0;   

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

    {    

      sum+=365;        

      if(Judge(year))     

      sum++;   

    }   

  return sum;  

//计算month的总天数

 private static int getSumMonth() {   

  int sum = 0;   

  for(int i=0;i<month-1;i++)   

  {    

     sum+=m[i];      

  }   

  if(Judge(year) && month>2)     

    sum++;   

    sum++;       //要计算1900年到year年month—1的天数  

     return sum;  

    }  

//打印表头  

private static void printBiaotou() {   

  String[] mon = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};   

  String[] week = {"星期一 ","星期二 ","星期三 ","星期四 ","星期五 ","星期六 ","星期日"};   

  System.out.println(year+"年"+"  "+mon[month-1]);      for(int i=0;i<7;i++)    

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

  System.out.println();  

}  

//输入年月  

private static void InputYearAndAay(){   

  Scanner input = new Scanner(System.in);   

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

  year = input.nextInt();   

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

  month = input.nextInt();   

  input.close();   

  input = null;  

}  

//判断是否闰年  

private static boolean Judge(int year) {   

  return year%4 == 0 && year%100 != 0 || year%400 == 0;  

}

以上是关于使用java 打印日历的主要内容,如果未能解决你的问题,请参考以下文章

从给定的月份/年份打印日历

日历打印用java实现

Java实现打印日历的功能

在Java中如何用calendar类输入年和月份打印当月的日历

java打印日历

Java实验项目二——打印某年某月日历