`

java 根据生日计算星座

    博客分类:
  • Java
 
阅读更多
public class ConstellationUtil {

public  enum Constellation {
Capricorn(1, "摩羯座"), Aquarius(2, "水瓶座"), Pisces(3, "双鱼座"), Aries(4,
"白羊座"), Taurus(5, "金牛座"), Gemini(6, "双子座"), Cancer(7, "巨蟹座"), Leo(
8, "狮子座"), Virgo(9, "处女座"), Libra(10, "天秤座"), Scorpio(11, "天蝎座"), Sagittarius(
12, "射手座");

private Constellation(int code, String chineseName) {
this.code = code;
this.chineseName = chineseName;
}
private int code;
private  String chineseName;

public int getCode() {
return this.code;
}
public String getChineseName() {
return this.chineseName;
}
}

public static final Constellation[] constellationArr = {
Constellation.Aquarius, Constellation.Pisces, Constellation.Aries,
Constellation.Taurus, Constellation.Gemini, Constellation.Cancer,
Constellation.Leo, Constellation.Virgo, Constellation.Libra,
Constellation.Scorpio, Constellation.Sagittarius,
Constellation.Capricorn
};

public static final int[] constellationEdgeDay = { 21, 20, 21, 21, 22, 22,
23, 24, 24, 24, 23, 22 };

public static String calculateConstellation(String birthday) {
if (birthday == null || birthday.trim().length() == 0)
throw new IllegalArgumentException("the birthday can not be null");
String[] birthdayElements = birthday.split("-");
if (birthdayElements.length != 3)
throw new IllegalArgumentException(
"the birthday form is not invalid");
int month = Integer.parseInt(birthdayElements[1]);
int day = Integer.parseInt(birthdayElements[2]);
if (month == 0 || day == 0 || month > 12)
return "";
month = day < constellationEdgeDay[month - 1] ? month - 1:month;
return month > 0 ? constellationArr[month - 1].getChineseName(): constellationArr[11].getChineseName();
}
}
分享到:
评论

相关推荐

    JAVA根据生日知道你的星座

    综上所述,这段Java代码的主要目的是通过用户的生日输入来输出用户的生肖和星座。需要注意的是,实际代码中还存在一些未完成的部分,例如生肖的具体输出,以及部分星座名称的缺失。此外,代码中还有一些语法错误,...

    生日-星座-生肖

    - `date2Constellation()` 方法用于计算星座。 通过以上介绍,我们可以了解到如何使用Java实现根据出生日期获取生肖和星座的功能。此项目不仅涵盖了基本的日期处理和数组操作,还涉及到了条件判断和逻辑处理等方面...

    Android通过出生日期确定星座及年龄

    接下来,编写一个工具类来计算星座和年龄: ```java public class DateUtils { public static Zodiac getZodiac(int birthMonth, int birthDay) { for (Zodiac zodiac : Zodiac.values()) { if (birthMonth &gt; ...

    Java编程星座配对

    类的实例化可以用于存储用户输入的出生日期,并根据日期确定对应的星座。这涉及到日期处理,Java中的`java.time`包提供了强大的日期时间API,可以方便地进行日期比较和转换。 接着,实现星座配对算法。这可能基于...

    十二生肖和星座Java工具类.rar

    在Java编程中,工具类(Util Class)是一种常见的设计模式,通常包含一组静态方法,用于...这样的工具类在实际项目中可以提供便捷的日期相关功能,比如生日匹配星座,生肖年份计算等,提高了代码的可重用性和开发效率。

    模仿iphone(wheelView)实现日期算出年龄和星座

    "模仿iPhone(wheelView)实现日期算出年龄和星座"是一个这样的案例,它使用了WheelView来创建一个交互式日期选择器,用户可以通过滚动选择出生日期,然后系统将自动计算出对应的年龄和星座。下面我们将深入探讨这一...

    android根据你出生的阳历日期可以判断你属于哪个星座程序

    5. **事件监听**:在按钮点击事件中,你需要调用获取日期和计算星座的逻辑,并将结果显示在界面上。这涉及到对`OnClickListener`接口的理解和使用。 6. **异常处理**:考虑到用户可能会输入无效的日期,你需要添加...

    找星座朋友软件_软件需求规格说明书_美和易思Java基础作业.doc

    1. 星座判断:用户输入生日后,系统自动计算出对应的星座。 2. 星座分析:输出该星座的基本特征,如性格特点、优点和缺点。 3. 幸运信息:提供每个星座的幸运色、幸运数字、幸运日和幸运地点,让用户感受到星座带来...

    星座查询android源代码

    这涉及到对日期的计算,以及星座的划分规则。星座的划分依据西方占星术,根据公历,每年12个星座的日期范围是固定的。 3. 数据存储:为了提高效率,开发人员可能会选择将星座信息存储在本地数据库或资源文件中,...

    参考文档-基于Android平台的星座查询软件设计.zip

    - **星座查询**:详细描述如何通过用户输入的生日进行星座判断,并显示相关信息。 - **星座运势**:说明如何获取并显示每日、每周或每月的星座运势,可能涉及与外部API的交互。 - **星座配对**:解释如何计算两个...

    星座查询小程序

    当收到前端发送的请求后,服务器需要解析日期并根据星座划分规则(比如按月份和日期)来确定用户所属的星座。此外,服务器可能还需要一个数据库来存储星座的特性和描述,以便返回给前端展示。例如,使用Python的...

    基于Android平台的星座查询软件设计.doc

    3. **星座查询逻辑**:通过用户的出生日期,软件计算出对应的星座,并显示相关信息。 4. **Intent使用**:Intent用于启动其他活动,比如当用户想分享星座运势时,可以启动分享意图来发送星座信息。 5. **性能优化与...

    java 人品计算器

    3. **条件判断与循环结构**:在计算人品值的过程中,可能需要根据用户的某些特定情况(如星座、生肖等)进行不同的处理,这需要用到`if...else`语句或`switch`语句。同时,如果需要多次执行相同的操作,可以使用`for...

    android根据你出生的阳历日期可以判断你

    要进行日历计算,如计算年龄、星座等,我们可以使用`java.time.Period`类来表示两个日期之间的时间差。例如,`Period.between(dateOfBirth, LocalDate.now())`将返回一个`Period`对象,包含了用户从出生到现在的...

    J2ME的星座程序(含文檔).zip_j2me

    4. **数据处理和计算**:理解如何根据生日日期计算星座,可能涉及到日期对象的操作。 5. **图形和用户界面设计**:查看如何绘制星座图标,使用GIF89a或者PNG格式的图像资源。 6. **资源管理**:学习如何在有限的内存...

    生日日期选择

    在许多应用场景中,用户需要输入或选择他们的生日日期,以便系统可以进行相应的计算、分析或个性化服务。"生日日期选择"这个话题涉及到用户界面设计、数据格式化、日期验证以及与数据库的交互等多个方面。 首先,...

    99 非常强大的java时间处理工具类!.docx

    8. **比较和判断**:工具包提供比较日期的函数,可以判断两个日期的先后关系或是否相等,还可以用于周期性日期的比较,如生日或节日的计算。 9. **星座计算**:`getConstellation*`方法可以计算给定日期对应的星座...

    bday-by-5e:B'DAY BY 5E 是一个 android 应用程序,它存储生日,然后计算年龄、星座和许多其他很酷的事实。 它还可以对生日进行排序

    使用生日,该应用程序可以检测: 那天,人出生星座年龄正确年龄(例如:21 岁 5 个月零 3 天) 天数(例如:7776 天) 小时(例如:186646 小时) 秒(例如:671928165 秒旧) 距下一个生日的天数(例如:距下一个...

    【Android28】不同Activity之间的数据回传实例(二)星座测算游戏

    在这个星座测算游戏中,用户可能会输入生日信息,然后目标Activity计算出星座并返回。整个过程中,Intent和数据传递是核心机制。 最后,文件名`ZSStar`可能代表"星座之星",这可能是游戏的内部命名或资源文件,具体...

    出生时间转农历生日计算器

    "出生时间转农历生日计算器"是一个专门针对这一需求而设计的应用或工具,它能够帮助用户方便快捷地将自己或他人的出生日期从公历转换成农历,同时也可能包含一些额外的功能,如查询生肖、星座等。 【描述】:“@...

Global site tag (gtag.js) - Google Analytics