首页 > 学院 > 开发设计 > 正文

函数版万年历

2019-11-08 00:35:58
字体:
来源:转载
供稿:网友
package com.Oracle;import java.util.*;public class Fist {      public static void main(String[] args) {    int year=2017;    System.out.PRintln(year+"年的日历");    for(int i=1;i<13;i++)    {        int month=i;        System.out.println(year+"年"+month+"月"+"的日历");        System.out.println("日/t一/t二/t三/t四/t五/t六");        int monthDays=0;        switch (month) {        case 1:        case 3:        case 5:        case 7:        case 8:        case 10:        case 12:            monthDays=31;                        break;        case 4:        case 6:        case 9:        case 11:            monthDays=30;            break;        case 2:            if(year%4==0&&year%100!=0||year%400==0)            {                monthDays=29;            }else                monthDays=28;            break;        default:            break;        }        int weekDays=0;        int days=0;        for(int j=1900;j<year;j++)        {   int currentDay=j;            if(currentDay%4==0&&currentDay%100!=0||currentDay%400==0)            {                days=days+366;            }            else {                days=days+365;            }        }        for (int j = 1; j < month; j++) {            int currentMonth=j;            switch (currentMonth) {            case 1:            case 3:            case 5:            case 7:            case 8:            case 10:            case 12:                days=days+31;                                break;            case 4:            case 6:            case 9:            case 11:                days=days+30;                break;            case 2:                if (year%4==0 && year%100!=0 || year%400==0) {                    days=days+29;                }else{                    days=days+28;                }                break;            default:                break;            }        }                weekDays=(days%7+1)%7;        for(int j=1;j<=weekDays;j++)        {            System.out.print("/t");        }        for(int j=1;j<monthDays+1;j++)                    {            int day=j;            System.out.print(day+"/t");            if((day+weekDays)%7==0)            {                System.out.println();            }                }        System.out.println();        }    }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表