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 位数字),再根据这个数字所处的范围进行判断,其中前两位是月份,后两位是日期。在这里使用 switch 语句判断出生的月份,然后根据日期确定星座名称。

public static String getxz(String birthday) {
	System.out.println("您输入的出生年月"+birthday);
	String xingzuo="";
	if(null != birthday && birthday != "") {
		String strs[] = birthday.trim().split("-");
		int monthday=Integer.parseInt(strs[1]+strs[2]);
		int month=monthday/100;
		int day=monthday%100;
		System.out.println("您输入的出生年月(如 0123 表示 1 月 23 日):" +monthday );
		System.out.println("您输入的month: "+month);
		System.out.println("您输入的day: "+day);
		
		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);
	return xingzuo;
	}

个人简单对该功能进行来封装,在项目中直接调用即可。本人亲测正确。希望对有此需求的小伙伴有所帮助!封装存在不足,欢迎指正。高手误喷!

你可能感兴趣的:(#,项目实战)