zoukankan      html  css  js  c++  java
  • 需求:输入一个年份和月份 ,显示当前月日情况 ,星期数要对应准确 * 1.1900年1月1号开始 * 2.星期 : 直接用总天数对7求余数 31 28 59 / 7 = 5 * 3.以\t来个开

    public class Demo4 {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    Demo4 demo = new Demo4();
    demo.show(1900,3);

    }

    //定义一个工具方法:判断平年还是闰年
    public boolean isLeapYear(int year){

    if(year % 400 == 0 || (year % 4==0 && year % 100 != 0)){

    return true;
    }

    return false;
    }

    //计算输入年份下,月份的总天数 1900

    public int getTotalDateFrom(int year , int month){

    //1.定年份的总天数
    int totalDate = 0;//1900到你输入的年份的总天数 2016 1900 - 1903 = 3
    for(int i= 1900 ; i < year ;i++){

    if(isLeapYear(i)){ // 闰年

    totalDate += 366;
    }else {

    totalDate += 365;
    }
    }

    //2.计算月份的天数
    for(int i = 1 ; i< month ;i++){

    totalDate += getDayOfMonth(year, i);
    }

    return totalDate;

    }



    public int getDayOfMonth(int year , int month){

    switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:

    return 31;

    case 4:
    case 6:
    case 9:
    case 11:
    return 30;
    case 2:
    if(isLeapYear(year)){

    return 29;
    }else {

    return 28;
    }
    default:
    return 30;
    }
    }

    public int printSpace(int year , int month){

    return getTotalDateFrom(year, month) % 7;
    }

    public void print(int year , int month){

    int countSpac = printSpace(year, month) + 1; // 空格的个数
    int count = 0; //定义一个计数
    for(int i = 1; i<=countSpac; i++){
    count++;
    System.out.print("\t");
    }

    //2.打印日期
    for(int i = 1 ; i<=getDayOfMonth(year, month);i++){

    if(count % 7 == 0){

    System.out.println();
    }
    count++;
    System.out.print(i+"\t");

    }

    }

    public void show(int year , int month){

    System.out.println("******************"+year+"****"+month+"***************");
    System.out.println("======================================================");
    System.out.println("日\t一\t二\t三\t四\t五\t六");
    System.out.println("======================================================");
    print(year, month);
    System.out.println();
    }

    }

  • 相关阅读:
    宿主机无法访问CentOS7上Jenkins服务的解决办法
    415. Add Strings
    367. Valid Perfect Square
    326. Power of Three
    258. Add Digits
    231. Power of Two
    204. Count Primes
    202. Happy Number
    172. Factorial Trailing Zeroes
    171. Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/Huanghaihui/p/6104725.html
Copyright © 2011-2022 走看看