Java基礎題目記錄-01
計算使用者輸入的日期離1900年1月1日相距多少天
分析:
-
本題需要用到鍵盤輸入:Scanner
-
注意平年閏年, 閏年分為普通閏年和世紀閏年。
i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)
-
閏年二月份為29天,平年28天。
-
逐步計算:首先進行最簡單的天數相差計算,然後看年份相差,最後看月份相差。
程式碼案例演示:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入年份:");
int year = sc.nextInt();
System.out.println("請輸入月份:");
int month = sc.nextInt();
System.out.println("請輸入日期:");
int day = sc.nextInt();
//日期天數相差
int sumDay = day - 1;
//年份天數相差
for (int i = 1900; i < year; i++) {
if ((i % 400 == 0) || (i % 4 == 0 && i % 100 != 0)) {
sumDay += 366;
}else {
sumDay += 365;
}
}
//月份相差天數
for(int i = 1; i < month;i++){
switch (i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
sumDay += 31;
break;
case 2:
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)){
sumDay += 29;
}else {
sumDay += 28;
}
break;
default:
sumDay += 30;
}
}
System.out.println("相距1900年1月1日:" + sumDay + "天。");
}
測試結果為:
相關文章
- java基礎學習(目錄)Java
- 01.Java基礎問題Java
- [java基礎]之JDK目錄介紹JavaJDK
- Java學習筆記01 - JavaSE基礎Java筆記
- JAVA基礎-註解記錄Java
- ios 基礎問題記錄iOS
- 題目記錄
- 【Java基礎】01初識JavaJava
- 【Linux基礎】Linux目錄Linux
- Java基礎01:註釋Java
- Python基礎筆記01-Python基礎Python筆記
- Golang 基礎面試題 01Golang面試題
- 面試問題記錄 一 (基礎部分)面試
- 題目整理01
- Java基礎知識(牛客刷題)記錄..(持續輸出中)Java
- Java 基礎 01-String 詳解Java
- 刷題記錄(C語言)01C語言
- vue 基礎入門筆記 01Vue筆記
- Laravel8學習筆記01 - 目錄結構Laravel筆記
- Java基礎題Java
- Linux 基礎-檔案及目錄管理Linux
- 初識java day01(基礎篇)Java
- 題目記錄(一直更新
- 01.Android之基礎元件問題Android元件
- Linux基礎命令---mirror獲取ftp目錄LinuxFTP
- iOS 基礎知識學習目錄索引iOS索引
- java基礎題(部分)Java
- Java基礎專題 Jvm記憶體劃分JavaJVM記憶體
- Java基礎01 從HelloWorld到物件導向Java物件
- 3nd ucup 部分題目記錄
- 01-Excel基礎操作-學習筆記Excel筆記
- Python基礎篇-Python基礎01Python
- MySQL函式查詢目錄樹問題記錄MySql函式
- .Net Core 微服務容器系列基礎目錄篇微服務
- [Python]學習基礎篇:檔案和目錄Python
- Linux基礎學習——檔案與目錄管理Linux
- java基礎 -反射筆記Java反射筆記
- JavaWeb-01記錄JavaWeb