二、Java之萬年曆
import java.util.Scanner;
public class index {
// 每個月的天數
public static int monthday(int month, int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
int[] day = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
return day[month];
} else {
int[] day = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
return day[month];
}
}
// 月份總天數
public static int monthdays(int month, int year) {
int totaldays = 0;
for (int i = 1; i < month; i++) {
totaldays = totaldays + monthday(i, year);
}
return totaldays;
}
// 距離 1900 年的年份總天數
public static int yeardays(int year){
int yeardays = 0;
for (int i = 1900;i<year;i++){
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
yeardays = yeardays+366;
} else {
yeardays = yeardays+365;
}
}
System.out.println(year+" 年距離 1900 年的總天數 "+yeardays);
return yeardays;
}
// 輸出日曆
public static void printCalendar(int month,int year){
int totaldays = 0;
if (year > 0) {
if (month > 0 && month < 13) {
// 距離 1900 年 1 月 1 日總天數
totaldays = monthdays(month,year)+yeardays(year);
System.out.println(year+" 年 "+month+" 月 1 日距離 1900 年的總天數 :"+totaldays);
System.out.外匯跟單gendan5.comprintln("\n**********"+year+" 年 "+month+" 月的日曆為 **********");
System.out.println(" 一 \t 二 \t 三 \t 四 \t 五 \t 六 \t 日 \t");
int week = 1+totaldays%7;
// 根據 1 日為周幾輸出空格
for(int i=1;i<week;i++){
System.out.print(" \t");
}
// 輸入具體日期
for(int i=1;i<=monthday(month,year);i++){
System.out.print(i+"\t");
if(week==7){
week = 1;// 重置為星期一
System.out.println();
}else{
week++;
}
}
} else {
System.out.println(" 輸入的月份不合法! ");
}
} else {
System.out.println(" 輸入的年份不合法! ");
}
}
// 主函式
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("*********************** 歡迎使用萬年曆 **************************");
System.out.println("********* 請選擇你需要進行的操作(輸入進行操作之前的數字) **********");
System.out.println("********************1. 查詢某年某月的日曆 ************************");
System.out.println("********************2. 結束操作 *********************************");
System.out.print("\n 請選擇你需要進行的操作: ");
int a = scanner.nextInt();
for (int i=0;i>=0;i++) {
switch (a) {
case 1:
System.out.print(" 請選擇年份: ");
int year = scanner.nextInt();
System.out.print(" 請選擇月份: ");
int month = scanner.nextInt();
printCalendar(month, year);
System.out.print("\n 請選擇你需要進行的操作: ");
a = scanner.nextInt();
break;
case 2:
System.out.println(" 退出程式成功! ");
return;
}
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2768951/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java 之 JDBC(二)JavaJDBC
- Java鎖之ReentrantLock(二)JavaReentrantLock
- QA隊長曆險記(二)
- 二、Java之物件導向Java物件
- vue之實現日曆----顯示農曆,滾動日曆監聽年月改變Vue
- 用java實現日曆demo。Java
- Java正式上路之物件導向二Java物件
- Java定時器之Timer學習二Java定時器
- Java併發之AQS原始碼分析(二)JavaAQS原始碼
- 二. 重識Java之夯實註解Java
- Java設計模式之(二)——工廠模式Java設計模式
- Java併發之ReentrantReadWriteLock原始碼解析(二)Java原始碼
- Java併發之Semaphore原始碼解析(二)Java原始碼
- Java併發之ReentrantLock原始碼解析(二)JavaReentrantLock原始碼
- Java併發之ThreadPoolExecutor原始碼解析(二)Javathread原始碼
- 公曆日期轉農曆日期
- 根據公曆計算農曆
- (二)Java高併發秒殺API之Service層JavaAPI
- 初識Frida--Android逆向之Java層hook (二)AndroidJavaHook
- Java安全之Commons Collections1分析(二)Java
- JVM日曆:JDPR或Java資料保護建議JVMJava
- 日曆2021年日曆表|2021年日曆表列印版 Excel版Excel
- win10 日曆怎麼顯示農曆_win10日曆不顯示農曆怎麼辦Win10
- 二、JAVA知識點之HashMap、TreeMap、紅黑樹——精髓JavaHashMap
- Java集合原始碼分析之基礎(二):雜湊表Java原始碼
- java 實現根據年月得到這個月的日曆Java
- Java複習筆記第二篇--集合學習之實現原理二Java筆記
- C日曆
- 日曆表
- 根據兩個日期之間獲取LocalDate日曆列表LDA
- JAVA開發之簡化Dao層、提高開發效率(二)Java
- AQS:JAVA經典之鎖實現演算法(二)-ConditionAQSJava演算法
- Scala與Java差異(二)之條件控制與迴圈Java
- win10電腦日曆怎麼顯示農曆_win10系統日曆顯示農曆的設定方法Win10
- Java筆記-Java反射(二)Java筆記反射
- Java併發程式設計之執行緒篇之執行緒簡介(二)Java程式設計執行緒
- angular 日期(陽曆)Angular
- 日曆外掛