zoukankan      html  css  js  c++  java
  • 万年表

     1 public class Demo {
     2     public static void main(String[] args) {
     3         int totalDay=0; //计算总天数
     4         int dayOfWeek; //保存当月第一天是星期几
     5         //int day=0 ; //当月的天数
     6         int dayOfYear=0; //保存用户输入的年月之前的天数
     7         int sum = 0;
     8         Scanner sc = new Scanner(System.in);
     9         System.out.println("******************欢 迎 使 用 万 年 表******************");
    10         System.out.println("请选择年份:");
    11         int year = sc.nextInt();
    12         System.out.println("请选择月份:");
    13         int month = sc.nextInt();
    14         //计算用户当年1-1后总天数
    15         for(int i = 1900; i <year; i++){
    16             if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0){
    17                 dayOfYear += 366;
    18             }
    19             else {
    20                 dayOfYear += 365;
    21             }
    22         }
    23         int[] day = {31,28,31,30,31,30,31,31,30,31,30,31}; //当年的月
    24         if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
    25             day[1] = 29;
    26         }
    27         for (int i = 0; i < month-1; i++){
    28             sum += day[i];
    29         }
    30         dayOfWeek = ((dayOfYear + sum) + 1) % 7;//核心:算法 求该月的1号是星期几 (当用户输入的年份1-1 以前的所有天数+该月的天数 +1) %7
    31         //打印格式
    32         System.out.println("天	一	二	三	四	五	六");
    33         //初始化日历的第一天的位置
    34         for (int i = 0; i < dayOfWeek; i++){
    35             System.out.print("	");
    36         }
    37 
    38         for(int i = 1; i <=  day[month-1]; i++){
    39             //控制每到星期6就换行,原理为总天数加上当月天数对7取余
    40             if (((dayOfYear + sum)+i) % 7 ==6 ){
    41                 System.out.print(i+"
    ");
    42             }
    43             else {
    44                 System.out.print(i+"	");
    45             }
    46         }
    47     }
    48 }
  • 相关阅读:
    frame.origin.x 的意思和作用?
    8小时外的时间决定你的身价
    iOS开发学习路径的一些建议
    2015互联网校招总结—一路走来
    Struts2返回JSON对象的方法总结
    JavaScript HTML DOM 事件
    vc6
    运行html,css,js好的软件
    php编译器
    EasyBCD 可以修改系统引导的软件
  • 原文地址:https://www.cnblogs.com/bingquan1/p/12665429.html
Copyright © 2011-2022 走看看