Java根据出⽣⽇期计算(判断)星座
下⾯我们来了解⼀下⼗⼆星座对应的⽇期划分范围。
⽩⽺:0321~0420          天秤:0924~1023
⾦⽜:0421~0521          天蝎:1024~1122
双⼦:0522~0621          射⼿:1123~1221
巨蟹:0622~0722          摩羯:1222~0120
狮⼦:0723~0823          ⽔瓶:0121~0219
处⼥:0824~0923          双鱼:0220~0320
例如,出⽣⽇期为 0609(6 ⽉ 9 号),则对应的是双⼦座。
根据上述描述,在程序中需要⽤户输⼊⼀个 4 位数字,再根据这个数字所处的范围进⾏判断,其中前两位是⽉份,后两位是⽇期。这⾥我们分别⽤ if else 语句和 switch 语句实现,希望读者⾃⼰运⾏,以便更好的掌握 if else 和 switch 的区别和适⽤场景。
switch实现计算星座功能
在这⾥使⽤ switch 语句判断出⽣的⽉份,然后根据⽇期确定星座名称。
实现代码如下:
1. public static void main(String[] args) {
2. System.out.println("请输⼊您的出⽣年⽉(如 0123 表⽰ 1 ⽉ 23 ⽇):");
3. Scanner sc = new Scanner(System.in);
4. int monthday = sc.nextInt();
5. int month = monthday/100;
6. int day = monthday%100;
7. String xingzuo = "";
8. switch (month) {
9.    case 1:
10. xingzuo = day<21?"摩羯座":"⽔瓶座";
11. break;
12.    case 2:
13. xingzuo = day<20? "⽔瓶座":"双鱼座";
14. break;
15.    case 3:
16. xingzuo = day<21?"双鱼座":"⽩⽺座";
17. break;
18.    case 4:
19. xingzuo = day<21?"⽩⽺座":"⾦⽜座";
20. break;
21. case 5:
22. xingzuo = day<22?"⾦⽜座":"双⼦座";
23. break;
24.    case 6:
25. xingzuo = day<22?"双⼦座":"巨蟹座";
26. break;
27.    case 7:
28. xingzuo = day<23?"巨蟹座":"狮⼦座";
29. break;
30.    case 8:
31. xingzuo = day<24?"狮⼦座":"处⼥座";
32. break;
33.    case 9:
34. xingzuo = day<24?"处⼥座":"天秤座";
35. break;
36.    case 10:
37. xingzuo = day<24?"天秤座":"天蝎座";
38. break;
39.    case 11:
40. xingzuo = day<23?"天蝎座":"射⼿座";
41. break;
42.    case 12:
43. xingzuo = day<22?"射⼿座":"摩羯座";
44. break;
45. }
46. System.out.println("您的星座是:" +xingzuo);
47. }
上述代码中, ⾸先声明变量 monthday 保存⽤户输⼊的信息,然后⽤ month 和 day 变量分别表⽰⽉份和⽇期。接下来 switch 语句根据⽉份判断执⾏ case ⼦句中的代码,在每个 case ⼦句中,使⽤三元运算符根据⽇期判断所属的星座。
最终运⾏效果如下所⽰:
请输⼊您的出⽣年⽉(如 0123 表⽰ 1 ⽉ 23 ⽇):
0521
您的星座是:⾦⽜座
请输⼊您的出⽣年⽉(如 0123 表⽰ 1 ⽉ 23 ⽇):
1109
您的星座是:天蝎座
if-else 实现计算星座功能
在这⾥我们使⽤嵌套 if,与 switch ⼀样⾸先判断出⽣的⽉份,然后根据⽇期确定星座名称。
实现代码如下所⽰:
1. public static void main(String[] args) {
2. System.out.println("请输⼊您的出⽣年⽉(如 0123 表⽰ 1 ⽉ 23 ⽇):");
3. Scanner sc = new Scanner(System.in);
4. int monthday = sc.nextInt();
5. int month = monthday / 100;
6. int day = monthday % 100;
7. String xingzuo = "";
8.
9. if (month == 1) {
10. if (day < 21) {
11. xingzuo = "摩羯座";
12. } else {
java switch case string13. xingzuo = "⽔瓶座";
14. }
15. } else if (month == 2) {
16. if (day < 20) {
17. xingzuo = "⽔瓶座";
18. } else {
19. xingzuo = "双鱼座";
20. }
21. } else if (month == 3) {
22. if (day < 21) {
23. xingzuo = "双鱼座";
24. } else {
25. xingzuo = "⽩⽺座";
26. }
27. } else if (month == 4) {
28. if (day < 21) {
29. xingzuo = "⽩⽺座";
30. } else {
31. xingzuo = "⾦⽜座";
32. }
33. } else if (month == 5) {
34. if (day < 22) {
35. xingzuo = "⾦⽜座";
36. } else {
37. xingzuo = "双⼦座";
38. }
39. } else if (month == 6) {
40. if (day < 22) {
41. xingzuo = "双⼦座";
42. } else {
43. xingzuo = "巨蟹座";
44. }
45. } else if (month == 7) {
46. if (day < 23) {
47. xingzuo = "巨蟹座";
48. } else {
49. xingzuo = "狮⼦座";
50. }
51. } else if (month == 8) {
52. if (day < 24) {
53. xingzuo = "狮⼦座";
54. } else {
55. xingzuo = "处⼥座";
56. }
57. } else if (month == 9) {
58. if (day < 24) {
59. xingzuo = "处⼥座";
60. } else {
61. xingzuo = "天秤座";
62. }
63. } else if (month == 10) {
64. if (day < 24) {
65. xingzuo = "天秤座";
66. } else {
67. xingzuo = "天蝎座";
68. }
69. } else if (month == 11) {
70. if (day < 23) {
71. xingzuo = "天蝎座";
72. } else {
73. xingzuo = "射⼿座";
74. }
75. } else if (month == 12) {
76. if (day < 22) {
77. xingzuo = "射⼿座";
78. } else {
79. xingzuo = "摩羯座";
80. }
81. }
82. System.out.println("您的星座是:" + xingzuo);
83. }
我们输⼊和上边⼀样的⽇期,运⾏结果如下:
请输⼊您的出⽣年⽉(如 0123 表⽰ 1 ⽉ 23 ⽇):
0521
您的星座是:⾦⽜座
请输⼊您的出⽣年⽉(如 0123 表⽰ 1 ⽉ 23 ⽇):
1109
您的星座是:天蝎座

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。