SwitchCaseExer.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. 从键盘分别输入年、月、日,判断这一天是当年的第几天
  3. 判断一年是否是闰年的标准:
  4. (1)、可以被4整除,但是不能被100整除
  5. (2)、可以被400整除
  6. 说明:
  7. 1、凡是可以使用switch-case的结构,都可以转换为if-else,反之不成立。
  8. 2、当我们写分支结构时,当发现既可以使用switch-case(同时,switch中
  9. 表达式的取值情况不太多),又可以使用if-else时,优先选择使用
  10. switch-case。原因:switch-case执行效率稍高。
  11. */
  12. import java.util.Scanner;
  13. class SwitchCaseExer{
  14. public static void main(String[] args){
  15. Scanner scan = new Scanner(System.in);
  16. System.out.println("请输入年份:");
  17. int year = scan.nextInt();
  18. System.out.println("请输入月份:");
  19. int month = scan.nextInt();
  20. System.out.println("请输入日期:");
  21. int day = scan.nextInt();
  22. //定义一个变量来保存总天数
  23. int sumDays = 0;
  24. switch(month){
  25. case 12:
  26. sumDays += 30;
  27. case 11:
  28. sumDays += 31;
  29. case 10:
  30. sumDays += 30;
  31. case 9:
  32. sumDays += 31;
  33. case 8:
  34. sumDays += 31;
  35. case 7:
  36. sumDays += 30;
  37. case 6:
  38. sumDays += 31;
  39. case 5:
  40. sumDays += 30;
  41. case 4:
  42. sumDays += 31;
  43. case 3:
  44. //sumDays += 28;
  45. //判断year是否是闰年
  46. if(year%4 == 0 && year%100 !=0 || year%400 ==0){
  47. sumDays += 29;
  48. }else{
  49. sumDays += 28;
  50. }
  51. case 2:
  52. sumDays += 31;
  53. case 1:
  54. sumDays += day;
  55. }
  56. System.out.println("2019年"+month+"月"+day+"日是当年的第"+sumDays+"天");
  57. }
  58. }