Java重写《C经典100题》 --04
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
1 import java.util.Scanner; 2 3 /*本文转自博客:www.cnblogs.com/java-100 4 【程序4】 5 题目:输入某年某月某日,判断这一天是这一年的第几天? 6 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天。 7 特殊情况,闰年且输入月份大于3时需考虑多加一天。 8 */ 9 10 public class Java04 { 11 12 public static void main(String[] args) { 13 System.out.print("请输入需要查询的年月日,以空格隔开,例 2012 2 22:"); 14 Scanner scanner = new Scanner(System.in); 15 int year = scanner.nextInt(); 16 int month = scanner.nextInt(); 17 int day = scanner.nextInt(); 18 scanner.close(); 19 int[] days; 20 if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { 21 days = new int[] { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 22 305, 335 }; 23 } else { 24 days = new int[] { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 25 304, 334 }; 26 } 27 System.out.print(year + "年" + month + "月" + day + "日是该年的第" 28 + (days[month - 1] + day) + "天"); 29 } 30 }