⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 printdaily.java

📁 万年历程序源码,短小精悍,各位可以提提意见.
💻 JAVA
字号:
/*亲爱的,只要你静下来好好看,你一定能看懂的,我爱你*/

import java.io.*;
public class PrintDaily
{
  static int j,n;		//j是全局变量。
  static Boolean Is_LeapYear(int year)                //该方法判断是否是闰年
  {
    if(year % 4 ==0 && year % 100 !=0 || year % 400 ==0)
      return(true);            //若是闰年返回true
    else
      return(false);           //否则返回false
  }

  static int WeekDay(int year) //该方法返回该年的1月1号是星期几
  {
    int c,w;
    year=year%400;
    if((year==0||year%4==0&&year%100!=0))c=5;
    else c=6;
    w=(year+year/4-year/100+1+c)%7;
    return(w);
  }

  static int NumMonth(int month)	//该方法返回当月的天数
  {
    if(month==2)
    {
      if(Is_LeapYear(n))return(29);
      else return(28);
    }
    if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
      return(31);
    else
      return(30);
   }

  static void PrintR(int r)		//格式化输出
  {
    if(r>=0&&r<10)
      System.out.print("   "+r);
    else
      System.out.print("  "+r);
  }

  static void PrintWeek()		//输出头部汉字
  {
    System.out.println("  日  一  二  三  四  五  六");
  }

  static void PrintMonth(int month)	//输出月历表
  {
    System.out.print("            ");      //打印十二个空格
    PrintR(month);
    System.out.println();
    PrintWeek();		//调用方法PrintWeek(),用来打印“  日  一  二  三  四  五  六”
    for(int a=0;a<j;a++)		//该循环用来打印每月1号前面的空格
       System.out.print("    ");	//每个元素占四个字符的长度,所以一次输出四个空格
    for(int mon=1;mon<=NumMonth(month);mon++)	//该循环输出该月中的每一天
    {
      PrintR(mon);
      j++;
      if(j%7==0)
      {
        j=0;
        System.out.println();
      }
    }
  }

  static void PrintYear(int year)	//该方法用来输出年历表
  {
    j=WeekDay(year);           //判断该年1月1号是星期几
    for(int y=1;y<=12;y++)
    {
      PrintMonth(y);
      System.out.println();
      System.out.println();
    }
  }


  public static void main(String args[])throws IOException
  {
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    System.out.println("请输入一个年份:");
    String str=br.readLine();
    n=Integer.parseInt(str);
    PrintYear(n);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -