java 计算星座_java实战(五)之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 语句判断出生的月份,然后根据日期确定星座名称。

实现代码如下:

public static voidmain(String[] args) {

System.out.println("请输入您的出生年月(如 0123 表示 1 月 23 日):");

Scanner sc= newScanner(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 voidmain(String[] args) {

System.out.println("请输入您的出生年月(如 0123 表示 1 月 23 日):");

Scanner sc= newScanner(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您的星座是:天蝎座

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值