二、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 周曆日曆Java
- 自定義view之實現日曆介面(二)View
- java萬年曆Java
- Java 之 JDBC(二)JavaJDBC
- java Calendar日曆類Java
- java一個月日曆Java
- Java鎖之ReentrantLock(二)JavaReentrantLock
- 二、Java之物件導向Java物件
- vue之實現日曆----顯示農曆,滾動日曆監聽年月改變Vue
- 演算法系列之十七:日曆生成演算法-中國公曆(格里曆)(下)演算法
- 用java實現日曆demo。Java
- Java正式上路之物件導向二Java物件
- JAVA例項 陰陽曆演算法(轉)Java演算法
- PHP獲取農曆、陽曆轉陰曆PHP
- Java併發之AQS原始碼分析(二)JavaAQS原始碼
- Java併發之Semaphore原始碼解析(二)Java原始碼
- 二. 重識Java之夯實註解Java
- Java設計模式之(二)——工廠模式Java設計模式
- java學習筆記--輸出本月日曆Java筆記
- java實現一個月的日曆列印Java
- 自定義view之實現日曆介面(一)View
- 公曆日期轉農曆日期
- Java併發之ReentrantLock原始碼解析(二)JavaReentrantLock原始碼
- Java併發之ThreadPoolExecutor原始碼解析(二)Javathread原始碼
- JS編寫日曆控制元件(支援單日曆 雙日曆 甚至多日曆等)JS控制元件
- 根據公曆計算農曆
- 帶你開發一個二維周檢視日曆
- Java定時器之Timer學習二Java定時器
- (二)Java高併發秒殺API之Service層JavaAPI
- JVM日曆:JDPR或Java資料保護建議JVMJava
- 陽曆到陰曆的轉換 (轉)
- HTML元件(HTMLCOMPONENTS)之四編寫日曆(1)(轉)HTML元件
- HTML元件(HTMLCOMPONENTS)之四編寫日曆(2)(轉)HTML元件
- HTML元件(HTMLCOMPONENTS)之四編寫日曆(3)(轉)HTML元件
- win10 日曆怎麼顯示農曆_win10日曆不顯示農曆怎麼辦Win10
- Java併發之ReentrantReadWriteLock原始碼解析(二)Java原始碼
- Java集合原始碼分析之基礎(二):雜湊表Java原始碼
- 二、JAVA知識點之HashMap、TreeMap、紅黑樹——精髓JavaHashMap