SwitchCaseTest2.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. 编写程序:从键盘上输入2019年的“month”和“day”,要求通过程序输出
  3. 输入的日期为2019年的第几天。(使用switch-case)
  4. */
  5. import java.util.Scanner;
  6. class SwitchCaseTest2{
  7. public static void main(String[] args){
  8. Scanner scan = new Scanner(System.in);
  9. System.out.println("请输入2019年的month:");
  10. int month = scan.nextInt();
  11. System.out.println("请输入2019年的day:");
  12. int day = scan.nextInt();
  13. //方法一:冗余
  14. //定义一个变量来保存总天数
  15. /*int sumDays = 0;
  16. if(month == 1){
  17. sumDays = day;
  18. }else if(month = 2){
  19. sumDays = 31 + day;
  20. }else if(month == 3){
  21. sumDays = 31 + 28 + day;
  22. }else if(month == 4){
  23. sumDays = 31 + 28 + 31 + day;
  24. ……
  25. else{//month == 12
  26. //sumDays = …… +day;
  27. }*/
  28. //方法二:冗余
  29. /*switch(month){
  30. case 1:
  31. sumDays = day;
  32. break;
  33. case 2:
  34. sumDays = 31 + day;
  35. break;
  36. ……
  37. }*/
  38. //方法三:
  39. int sumDays = 0;
  40. switch(month){
  41. case 12:
  42. sumDays += 30;
  43. case 11:
  44. sumDays += 31;
  45. case 10:
  46. sumDays += 30;
  47. case 9:
  48. sumDays += 31;
  49. case 8:
  50. sumDays += 31;
  51. case 7:
  52. sumDays += 30;
  53. case 6:
  54. sumDays += 31;
  55. case 5:
  56. sumDays += 30;
  57. case 4:
  58. sumDays += 31;
  59. case 3:
  60. sumDays += 28;
  61. case 2:
  62. sumDays += 31;
  63. case 1:
  64. sumDays += day;
  65. }
  66. System.out.println("2019年"+month+"月"+day+"日是当年的第"+sumDays+"天");
  67. }
  68. }