首页 > 编程 > Java > 正文

非常实用的java万年历制作方法

2019-11-26 10:15:30
字体:
来源:转载
供稿:网友

完成万年历的制作需要用到数组、循环等知识。

编程计算输入的月份距离1900年1月1日的天数,求出当前月之前的总天数(不包含当前输入月分的天数,)

编程计算输入月份的第一天是星期几,(公式:星期几=1+天数差%7)。

import java.util.Scanner; public class Calendar{      public static void main(String[] args){          int year;     int month;     int totaldays=0;          Scanner sc=new Scanner(System.in);          System.out.println("请输入年");     year=sc.nextInt();     System.out.println("请输入月");     month=sc.nextInt();               //计算年的总天数     for(int i=1900;i<year;i++){       if((i%400==0)||(i%4==0&&i%100!=0)){         totaldays+=366;       }else{         totaldays+=365;       }     }          //距离1900年1月1好的总天数     totaldays+=monthdays(month,year);     //System.out.println(totaldays);     System.out.println("-------------"+year+"年"+month+"月日历为---------------");     //开头     System.out.println("星期日/t星期一/t星期二/t星期三/t星期四/t星期五/t星期六/t");          //该月第一天是星期几,星期几前面就空几格     int x=1+totaldays%7;          if(x==7){       x=0;     }     for(int i=0;i<x;i++){       System.out.print(" /t");     }          int days=monthday(month,year);          int i=1;     while(i<=days){       System.out.print(i+"   /t");       if((i+x)%7==0){         System.out.println();       }       i++;     }        }   //月份总天数   public static int monthdays(int month,int year){     int totaldays=0;     for(int i=1;i<month;i++){       totaldays+=monthday(i,year);     }     return totaldays;   }      //某月天数   public static int monthday(int month,int year){      if((year%400==0)||(year%4==0&&year%100!=0)){       int[] arr={0,31,29,31,30,31,30,31,31,30,31,30,31};       return arr[month];      }else{       int[] arr={0,31,28,31,30,31,30,31,31,30,31,30,31};       return arr[month];     }      }    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表