输入年月 输出日历表
生活随笔
收集整理的這篇文章主要介紹了
输入年月 输出日历表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.javase;
import java.util.Scanner;/*** 輸入年月,將輸出出日歷表(從1900.1.1開始計算總天數)*/
public class Calendar {public static void main(String[] args) {while (true){Scanner in=new Scanner(System.in);System.out.println("請輸入年份:");int year=in.nextInt();System.out.println("請輸入月份:");int month=in.nextInt();generateCalendar(month,year);}}/*** 為用戶提供一個API接口* @param month* @param year*/public static void generateCalendar(int month,int year){int sum=0;sum=countTotalDays(sum,year,month);printCalendar(sum,year,month);}/*** 計算從1900.1.1到輸入月份一共多少天* @param sum* @param year* @param month* @return*/public static int countTotalDays(int sum,int year,int month){/*** 按年計算1900.1.1到輸入年份的1.1一共有多少天(分閏年和平年)*/for(int i=1900;i<year;i++) {if(isR(i)) {sum+=366;}else {sum+=365;}}System.out.println(sum);/*** 按月計算今年的1.1號到輸入月份的1號一共有多少天* 二月分閏年(29)和平年(28),大月31天,小月30天*/for(int j=1;j<month;j++) {if(j==2) {if(isR(year)){sum+=29;}else {sum+=28;}}else {if(j==4||j==6||j==9||j==11){sum+=30;}else {sum+=31;}}}sum+=1;System.out.println(sum);return sum;}/*** 獲取輸入月份具體多少天* @param year* @param month* @return*/public static int getMonthDays(int year,int month){//獲取30天月份switch (month) {case 4:case 6:case 9:case 11:return 30;//獲取2月月份天數,調用上面方法,若滿足條件則返回29天,否則返回28天case 2:if(isR(year)){return 29;}else{return 28;}//若都不滿足條件,則返回31天default:return 31;}}/*** 判斷是否閏年* @param year* @return*/public static boolean isR(int year){//判斷是否為閏年if(year%4==0&&year%100!=0||year%400==0){//是閏年return true;}else{//不是閏年return false;}}/*** 輸出日歷* @param sum* @param year* @param month*/public static void printCalendar(int sum,int year,int month){int wekday=sum%7;System.out.println("SUN\tMON\tTUE\tWED\tTHU\tFRI\tSAT");for(int i=1;i<=wekday;i++){System.out.print("\t");}int monthDays=getMonthDays(year,month);for(int i=1;i<=monthDays;i++) {if(sum%7==6) {System.out.print(i+"\n");}else {System.out.print(i+"\t");}sum++;}System.out.println("\n"+"************************************"+"\n");}}
總結
以上是生活随笔為你收集整理的输入年月 输出日历表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Grades Crawler】利用p
- 下一篇: 苏州企业申请高新技术企业重新认定需要注意