Java 從鍵盤上輸入"year"“month”和“day”,要求通過程序輸出 輸入的日期為第幾年的第幾天


 1         /**
 2          * 編寫程序:
 3          * 從鍵盤上輸入"year"“month”和“day”,要求通過程序輸出
 4          *        輸入的日期為第幾年的第幾天
 5          * 注:判斷一年是否是閏年的標准:
 6          *       可以被4整除,但不可被100整除
 7            *          或
 8          *       可以被400整除
 9          * 
10          */
11        
12         
13         Scanner scan = new Scanner(System.in);
14         System.out.println("請輸入年份year:");
15         int year = scan.nextInt();
16         System.out.println("請輸入"+year+"年的month:");
17         int  month = scan.nextInt();
18         System.out.println("請輸入"+year+"年月份的day:");
19         int day = scan.nextInt();
20        
21        //定義變量保存總天數   if-else 方法  冗余
22         int sumDays = 0;
23         /*
24         
25         if(month == 1)
26         {
27             sumDays = day;
28         }
29         else if(month == 2)
30         {
31             sumDays = 31+ day;
32         }
33         //......
34         else
35         {
36             //month == 12
37             sumDays = 31+31+....+day;
38         }
39        */
40        
41        //方式二------------------------------------
42         /*
43         switch(month)
44         {
45         case 1:
46             sumDays = day;
47             break;
48         case 2:
49             sumDays = 31 + day;
50             break;
51         case 3:
52             sumDays = 31+31+day;
53             break;
54         ..............    
55         }
56         */
57         
58         //方式三 break在switch-case結構中是可選的。
59         switch(month)
60         {
61             case 12:
62                 sumDays += 30;
63             case 11:
64                 sumDays += 31;
65             case 10:
66                 sumDays += 30;
67             case 9:
68                 sumDays += 31;
69             case 8:
70                 sumDays += 31;
71             case 7:
72                 sumDays += 30;
73             case 6:
74                 sumDays += 31;
75             case 5:
76                 sumDays += 30;
77             case 4:
78                 sumDays += 31;
79             case 3:
80                 // sumDays += 28;
81                 // 判斷year是否是閏年
82                 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) 
83                 {
84                     sumDays += 29;
85                 } 
86                 else 
87                 {
88                     sumDays += 28;
89                 }
90 
91             case 2:
92                 sumDays += 31;
93             case 1:
94                 sumDays += day;
95             
96         }
97         System.out.println("這是"+year+"年"+ month +"月" + day +"日是當年的第" + sumDays + "天");
98         

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM