• 万年历


    打印万年历(输入年份,月份,输出该月的日历,已知1900年1月1日是星期一),要求:

    (1)编写一个方法判断闰年;

    (2)编写一个方法判断某年某月有多少天;

    (3)编写一个方法计算某年某月前距离1900年1月1日的总天数;(4)编写一个输出某年某月日历的方法;

    (5)编写一个测试方法。

     1 package experiment;
     2 
     3 import java.util.Scanner;
     4 
     5 public class Date_2_2 {
     6     public static void main(String args[]) {
     7         Scanner sc = new Scanner(System.in);
     8         System.out.println("请输入要查询日历的年份和月份:");
     9         int year = sc.nextInt();
    10         int month = sc.nextInt();
    11         output_cal(year, month);
    12     }
    13     
    14     static int nonleap_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    15     static int leap_month[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    16     
    17     //判断是否是闰年
    18     public static boolean judge_leap(int year) {
    19         if(year % 4 == 0 && year % 100 != 0) {
    20             return true;
    21         }
    22         else if(year % 400 == 0) {
    23             return true;
    24         }
    25         else {
    26             return false;
    27         }
    28     }
    29     
    30     public static void output_leap(int year) {
    31         if(judge_leap(year)) {
    32             System.out.println(year + "年是闰年。");
    33         }
    34         else {
    35             System.out.println(year + "年不是闰年。");
    36         }
    37     }
    38     
    39     //判断某年某月有多少天
    40     public static int count_month(int year, int month) {
    41         int day;
    42         if(judge_leap(year)) {
    43             day = leap_month[month - 1];
    44         }
    45         else
    46         {
    47             day = nonleap_month[month - 1];
    48         }
    49         return day;
    50     }
    51     //某年某月前距离1900年1月1日的总天数
    52     public static int count_day(int year, int month) {
    53         int day = 0;
    54         for(int i = 1900; i < year; i++) {
    55             if(judge_leap(i)) {
    56                 day += 366;
    57             }
    58             else {
    59                 day += 365;
    60             }
    61         }
    62         for(int i = 0; i < month - 1; i++)
    63         {
    64             if(judge_leap(year)) {
    65                 day += leap_month[i];
    66             }
    67             else {
    68                 day += nonleap_month[i];
    69             }
    70         }
    71         return day;
    72     }
    73     //输出某年某月日历
    74     public static void output_cal(int year, int month) {
    75         System.out.println("一	二	三	四	五	六	日");
    76         int day;
    77         int week;
    78         int n_month;
    79         int i = 0;
    80         day = count_day(year, month);
    81         week = day % 7 + 1;
    82         n_month = count_month(year, month);
    83         for(i = 1; i < week; i++)
    84             System.out.print(" 	");
    85         for(; i < n_month + week; i++) {
    86             System.out.print(i - week + 1);
    87             System.out.print("	");
    88             if(i % 7 == 0)
    89                 System.out.print("
    ");
    90         }
    91     }
    92 }
  • 相关阅读:
    html5 自定义属性data-*
    企业微信接口授权
    js对象---字符串
    谈谈html5新增的元素及其他功能
    模拟缓存
    jdbc数据库连接
    面向对象的理解
    最简单的Spring+SpringMVC+Mybatis的整合
    EF报错 附加类型model失败
    c# Web服务远程“调用”调试
  • 原文地址:https://www.cnblogs.com/CZT-TS/p/7587460.html
Copyright © 2020-2023  润新知