星座的枚举类
ConstellationUtil .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 int code;
private String chineseName;
private Constellation(int code, String chineseName) {
this.code = code;
this.chineseName = 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 int 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 0;
month = day < constellationEdgeDay[month - 1] ? month - 1 : month;
return month > 0 ? constellationArr[month - 1].getCode() : constellationArr[11].getCode();
}
}
测试ConstellationUtil 单元测试
public class TestConstellationUtil extends BaseTestCase {
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testCalculateConstellation() {
assertEquals(Constellation.Capricorn.getCode(), ConstellationUtil.calculateConstellation("1986-12-22"));
assertEquals(Constellation.Capricorn.getCode(), ConstellationUtil.calculateConstellation("1986-12-25"));
assertEquals(Constellation.Capricorn.getCode(), ConstellationUtil.calculateConstellation("1986-01-20"));
assertEquals(Constellation.Aquarius.getCode(), ConstellationUtil.calculateConstellation("1986-01-21"));
assertEquals(Constellation.Aquarius.getCode(), ConstellationUtil.calculateConstellation("1986-02-18"));
assertEquals(Constellation.Aquarius.getCode(), ConstellationUtil.calculateConstellation("1986-02-19"));
assertEquals(Constellation.Pisces.getCode(), ConstellationUtil.calculateConstellation("1986-02-20"));
assertEquals(Constellation.Pisces.getCode(), ConstellationUtil.calculateConstellation("1986-02-26"));
assertEquals(Constellation.Pisces.getCode(), ConstellationUtil.calculateConstellation("1986-03-20"));
assertEquals(Constellation.Aries.getCode(), ConstellationUtil.calculateConstellation("1986-03-21"));
assertEquals(Constellation.Aries.getCode(), ConstellationUtil.calculateConstellation("1986-03-25"));
assertEquals(Constellation.Aries.getCode(), ConstellationUtil.calculateConstellation("1986-04-20"));
assertEquals(Constellation.Taurus.getCode(), ConstellationUtil.calculateConstellation("1986-04-21"));
assertEquals(Constellation.Taurus.getCode(), ConstellationUtil.calculateConstellation("1986-05-10"));
assertEquals(Constellation.Taurus.getCode(), ConstellationUtil.calculateConstellation("1986-05-21"));
assertEquals(Constellation.Gemini.getCode(), ConstellationUtil.calculateConstellation("1986-05-22"));
assertEquals(Constellation.Gemini.getCode(), ConstellationUtil.calculateConstellation("1986-05-25"));
assertEquals(Constellation.Gemini.getCode(), ConstellationUtil.calculateConstellation("1986-06-21"));
assertEquals(Constellation.Cancer.getCode(), ConstellationUtil.calculateConstellation("1986-06-22"));
assertEquals(Constellation.Cancer.getCode(), ConstellationUtil.calculateConstellation("1986-06-28"));
assertEquals(Constellation.Cancer.getCode(), ConstellationUtil.calculateConstellation("1986-07-22"));
assertEquals(Constellation.Leo.getCode(), ConstellationUtil.calculateConstellation("1986-07-23"));
assertEquals(Constellation.Leo.getCode(), ConstellationUtil.calculateConstellation("1986-07-30"));
assertEquals(Constellation.Leo.getCode(), ConstellationUtil.calculateConstellation("1986-08-23"));
assertEquals(Constellation.Virgo.getCode(), ConstellationUtil.calculateConstellation("1986-08-24"));
assertEquals(Constellation.Virgo.getCode(), ConstellationUtil.calculateConstellation("1986-09-21"));
assertEquals(Constellation.Virgo.getCode(), ConstellationUtil.calculateConstellation("1986-09-23"));
assertEquals(Constellation.Libra.getCode(), ConstellationUtil.calculateConstellation("1986-09-24"));
assertEquals(Constellation.Libra.getCode(), ConstellationUtil.calculateConstellation("1986-10-21"));
assertEquals(Constellation.Libra.getCode(), ConstellationUtil.calculateConstellation("1986-10-23"));
assertEquals(Constellation.Scorpio.getCode(), ConstellationUtil.calculateConstellation("1986-10-24"));
assertEquals(Constellation.Scorpio.getCode(), ConstellationUtil.calculateConstellation("1986-11-21"));
assertEquals(Constellation.Scorpio.getCode(), ConstellationUtil.calculateConstellation("1986-11-22"));
assertEquals(Constellation.Sagittarius.getCode(), ConstellationUtil.calculateConstellation("1986-11-23"));
assertEquals(Constellation.Sagittarius.getCode(), ConstellationUtil.calculateConstellation("1986-11-28"));
assertEquals(Constellation.Sagittarius.getCode(), ConstellationUtil.calculateConstellation("1986-12-21"));
}
}
分享到:
相关推荐
这是一个java编写的生日祝福程序,非常漂亮,只是有点大,里面有好多东西呢,拼图游戏,相册,生日贺卡等,以及飘零的枫叶动画等
上传生日祝福软件源代码隐藏起来了,现在重新把源代码上传上!Java,源代码(生日祝福软件源代码补充)
初学JAVA的有帮助呀!!! int birthday=input.nextInt(); int year=(int)(birthday/10000); int month=(int)(birthday/100)-year*100; int day=(int)(birthday%100); int flag=year%12+1;
输入生日给出星座的代码 int main() { Bir yourBir; yourBir.SetTime(); cout输入你的生日"; yourBir.inputTime(); cout你的生日是:"; yourBir.ShowTime(); cout你的星座是:"; yourBir.cta(); }
用python画生日蛋糕,并可自行设置生日祝福对象及祝福语。
生日-星座-生肖,用JAVA实现,JAVA_CODE
生日快乐歌 程序代码 lyric=['祝你生日快乐'... '祝你生日快乐'... '祝你生日快乐'... '祝你生日快乐'];
用python画生日蛋糕,并可自行设置生日祝福对象及祝福语。
java编写的生日密码破解工具代码,输入生日数字的范围,可以找出生日破解,实现界面
生日快乐代码.zip
import javax.swing.JOptionPane; public class GuessBirthdayUsingConfirmationDialog { public static void main(String[] args) { String set1 = "1 3 5 7\n" + "9 11 13 15\n"+ "17 19 21 23\n"+ ...
生日祝贺代码,生日祝贺代码网页HTML,
--生日排序C++代码----生日排序C++代码----生日排序C++代码----生日排序C++代码----生日排序C++代码----生日排序C++代码----生日排序C++代码----生日排序C++代码----生日排序C++代码----生日排序C++代码----生日排序...
c++的生日歌代码,挺简单的
HappyBirth 生日快乐HTML网页源代码,可供学习参考。
生日快乐c
sql存储过程根据生日求星座sql存储过程根据生日求星座
自己给好朋友制作的一个生日快乐的网站,直接双击index.html就可以访问,默认的账号、密码都是root,可在jquery-1.8.4.min.js 文件中修改账号和密码,其余的就自己多看,多熟悉吧
html写的生日祝福代码
java(阳历转换为农历).pdf