这位怪蜀黍 快来逗我玩吧!

关闭页面特效

 


下面我们来了解一下十二星座对应的日期划分范围。

白羊: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 语句判断出生的月份,然后根据日期确定星座名称。

实现代码如下:

复制代码
public static void main(String[] args) {
System.out.println("请输入您的出生年月(如 0123 表示 1 月 23 日):");
Scanner sc = new Scanner(System.in);
int monthday = sc.nextInt();
int month = monthday/100;
int day = monthday%100;
String xingzuo = "";
switch (month) {
   case 1:
xingzuo = day<21?"摩羯座":"水瓶座";
break;
   case 2:
xingzuo = day<20? "水瓶座":"双鱼座";
break;
   case 3:
xingzuo = day<21?"双鱼座":"白羊座";
break;
   case 4:
xingzuo = day<21?"白羊座":"金牛座";
break;
case 5:
xingzuo = day<22?"金牛座":"双子座";
break;
   case 6:
xingzuo = day<22?"双子座":"巨蟹座";
break;
   case 7:
xingzuo = day<23?"巨蟹座":"狮子座";
break;
   case 8:
xingzuo = day<24?"狮子座":"处女座";
break;
   case 9:
xingzuo = day<24?"处女座":"天秤座";
break;
   case 10:
xingzuo = day<24?"天秤座":"天蝎座";
break;
   case 11:
xingzuo = day<23?"天蝎座":"射手座";
break;
   case 12:
xingzuo = day<22?"射手座":"摩羯座";
break;
}
System.out.println("您的星座是:" +xingzuo);
}
复制代码


上述代码中, 首先声明变量 monthday 保存用户输入的信息,然后用 month 和 day 变量分别表示月份和日期。接下来 switch 语句根据月份判断执行 case 子句中的代码,在每个 case 子句中,使用三元运算符根据日期判断所属的星座。

最终运行效果如下所示:

请输入您的出生年月(如 0123 表示 1 月 23 日):
0521
您的星座是:金牛座
请输入您的出生年月(如 0123 表示 1 月 23 日):
1109
您的星座是:天蝎座

if-else 实现计算星座功能

在这里我们使用嵌套 if,与 switch 一样首先判断出生的月份,然后根据日期确定星座名称。

实现代码如下所示:

复制代码
public static void main(String[] args) {
System.out.println("请输入您的出生年月(如 0123 表示 1 月 23 日):");
Scanner sc = new Scanner(System.in);
int monthday = sc.nextInt();
int month = monthday / 100;
int day = monthday % 100;
String xingzuo = "";
if (month == 1) {
if (day < 21) {
xingzuo = "摩羯座";
} else {
xingzuo = "水瓶座";
}
} else if (month == 2) {
if (day < 20) {
xingzuo = "水瓶座";
} else {
xingzuo = "双鱼座";
}
} else if (month == 3) {
if (day < 21) {
xingzuo = "双鱼座";
} else {
xingzuo = "白羊座";
}
} else if (month == 4) {
if (day < 21) {
xingzuo = "白羊座";
} else {
xingzuo = "金牛座";
}
} else if (month == 5) {
if (day < 22) {
xingzuo = "金牛座";
} else {
xingzuo = "双子座";
}
} else if (month == 6) {
if (day < 22) {
xingzuo = "双子座";
} else {
xingzuo = "巨蟹座";
}
} else if (month == 7) {
if (day < 23) {
xingzuo = "巨蟹座";
} else {
xingzuo = "狮子座";
}
} else if (month == 8) {
if (day < 24) {
xingzuo = "狮子座";
} else {
xingzuo = "处女座";
}
} else if (month == 9) {
if (day < 24) {
xingzuo = "处女座";
} else {
xingzuo = "天秤座";
}
} else if (month == 10) {
if (day < 24) {
xingzuo = "天秤座";
} else {
xingzuo = "天蝎座";
}
} else if (month == 11) {
if (day < 23) {
xingzuo = "天蝎座";
} else {
xingzuo = "射手座";
}
} else if (month == 12) {
if (day < 22) {
xingzuo = "射手座";
} else {
xingzuo = "摩羯座";
}
}
System.out.println("您的星座是:" + xingzuo);
}
复制代码

 

我们输入和上边一样的日期,运行结果如下:

请输入您的出生年月(如 0123 表示 1 月 23 日):
0521
您的星座是:金牛座
请输入您的出生年月(如 0123 表示 1 月 23 日):
1109
您的星座是:天蝎座

 

 posted on   大码王  阅读(1619)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具

成都

复制代码

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示

目录导航