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
- java基礎題目總結Java
- [java基礎]之JDK目錄介紹JavaJDK
- Java IO的基礎操作書目錄Java
- JAVA基礎-註解記錄Java
- ios 基礎問題記錄iOS
- 01.Java基礎問題Java
- iOS基礎:目錄結構iOS
- 面試問題記錄 一 (基礎部分)面試
- 【Linux基礎】Linux目錄Linux
- 牛客刷題筆記--(java基礎301-400)筆記Java
- Java學習筆記01 - JavaSE基礎Java筆記
- Java基礎知識(牛客刷題)記錄..(持續輸出中)Java
- Java基礎題Java
- Effective Java讀書筆記(目錄)Java筆記
- 題目記錄(一直更新
- Linux 基礎-檔案及目錄管理Linux
- iOS 基礎知識學習目錄索引iOS索引
- 【iOS 搭建基礎框架】目錄結構篇iOS框架
- java基礎題(部分)Java
- java基礎面試題Java面試題
- SQLL基礎知識記錄SQL
- 【Java基礎】01初識JavaJava
- Java基礎專題 Jvm記憶體劃分JavaJVM記憶體
- JAVA執行緒面試題書目錄Java執行緒面試題
- Linux基礎命令---mirror獲取ftp目錄LinuxFTP
- .Net Core 微服務容器系列基礎目錄篇微服務
- 《零基礎JavaWeb開發》全書目錄JavaWeb
- Java基礎筆記17Java筆記
- Java基礎筆記20Java筆記
- Java基礎筆記15Java筆記
- java基礎 -反射筆記Java反射筆記
- Java基礎01:註釋Java
- MySQL函式查詢目錄樹問題記錄MySql函式
- JAVA 基礎練習題Java
- java基礎筆試題Java筆試
- java面試題--基礎上Java面試題
- Java基礎面試題下Java面試題