val month = idCard.substring(10,12).toInt
val day = idCard.substring(12,14).toInt
if ((month == 1 && day >= 20) || (month == 2 && day <= 18)) "水瓶座"
else if ((month == 2 && day >= 19) || (month == 3 && day <= 20)) "双鱼座"
else if ((month == 3 && day >= 21) || (month == 4 && day <= 19)) "白羊座"
else if ((month == 4 && day >= 20) || (month == 5 && day <= 20)) "金牛座"
else if ((month == 5 && day >= 21) || (month == 6 && day <= 20)) "双子座"
else if ((month == 6 && day >= 21) || (month == 7 && day <= 22)) "巨蟹座"
else if ((month == 7 && day >= 23) || (month == 8 && day <= 22)) "狮子座"
else if ((month == 8 && day >= 23) || (month == 9 && day <= 22)) "处女座"
else if ((month == 9 && day >= 23) || (month == 10 && day <= 22)) "天秤座"
else if ((month == 10 && day >= 23) || (month == 11 && day <= 21)) "天蝎座"
else if ((month == 11 && day >= 22) || (month == 12 && day <= 21)) "射手座"
else if ((month == 12 && day >= 22) || (month == 1 && day <= 19)) "摩羯座"
else "未知"
}
def getInfo(zodiac: String): String = {
val map = Map(
"白羊座"->"热情奔放,充满活力,喜欢追求新鲜刺激,但有时冲动易怒,固执己见。",
"金牛座"->"稳重务实,勤奋踏实,注重物质享受,但有时固执己见,对钱财看得较重。",
"双子座"->"思维敏捷,沟通能力强,适应力强,但有时善变不安份,不够专注。",
"巨蟹座"->"敏感温柔,家庭观念浓厚,保护意识强,但有时过于情绪化,依赖性强。",
"狮子座"->"自信热情,有领导能力,讲义气,但有时耐不住寂寞,显得自大。",
"处女座"->"细致完美,思路清晰,待人真诚,但有时过于挑剔,吹毛求疵。",
"天秤座"->"和谐美感,公正理智,社交能力强,但有时优柔寡断,理想化。",
"天蝎座"->"神秘坚定,敏锐洞察力强,但有时孤僻复杂,多疑狂妄。",
"射手座"->"开朗乐观,爱自由冒险,但有时粗心大意,缺乏深度。",
"摩羯座"->"稳重谨慎,有耐心和野心,但有时过于保守功利,缺乏热情。",
"水瓶座"->"创新独立,理想主义,友善且叛逆,但有时反叛冷漠。",
"双鱼座"->"浪漫敏感,富有同情心,爱幻想,但有时意志薄弱,粗心大意。"
)
map.getOrElse(zodiac, "未知")
}
def main(args: Array[String]): Unit = {
val idCard = "429005200410100053"
val gender = getGender(idCard)
val brithday = getBirthday(idCard)
val age = getAge(idCard)
val province = getProvince(idCard)
val zodiac = getZodiac(idCard)
val info = getInfo(zodiac)
println(s"---------------------------------")
println(s"籍贯:${province}")
println(s"性别:${gender}")
println(s"年龄:${age}")
println(s"生日:${brithday}")
println(s"星座:${zodiac}")
println(s"星座介绍:${info}")
println(s"---------------------------------")
}
if ((month == 1 && day >= 20) || (month == 2 && day <= 18)) "水瓶座"
else if ((month == 2 && day >= 19) || (month == 3 && day <= 20)) "双鱼座"
else if ((month == 3 && day >= 21) || (month == 4 && day <= 19)) "白羊座"
else if ((month == 4 && day >= 20) || (month == 5 && day <= 20)) "金牛座"
else if ((month == 5 && day >= 21) || (month == 6 && day <= 20)) "双子座"
else if ((month == 6 && day >= 21) || (month == 7 && day <= 22)) "巨蟹座"
else if ((month == 7 && day >= 23) || (month == 8 && day <= 22)) "狮子座"
else if ((month == 8 && day >= 23) || (month == 9 && day <= 22)) "处女座"
else if ((month == 9 && day >= 23) || (month == 10 && day <= 22)) "天秤座"
else if ((month == 10 && day >= 23) || (month == 11 && day <= 21)) "天蝎座"
else if ((month == 11 && day >= 22) || (month == 12 && day <= 21)) "射手座"
else if ((month == 12 && day >= 22) || (month == 1 && day <= 19)) "摩羯座"
else "未知"
}
def getInfo(zodiac: String): String = {
val map = Map(
"白羊座"->"热情奔放,充满活力,喜欢追求新鲜刺激,但有时冲动易怒,固执己见。",
"金牛座"->"稳重务实,勤奋踏实,注重物质享受,但有时固执己见,对钱财看得较重。",
"双子座"->"思维敏捷,沟通能力强,适应力强,但有时善变不安份,不够专注。",
"巨蟹座"->"敏感温柔,家庭观念浓厚,保护意识强,但有时过于情绪化,依赖性强。",
"狮子座"->"自信热情,有领导能力,讲义气,但有时耐不住寂寞,显得自大。",
"处女座"->"细致完美,思路清晰,待人真诚,但有时过于挑剔,吹毛求疵。",
"天秤座"->"和谐美感,公正理智,社交能力强,但有时优柔寡断,理想化。",
"天蝎座"->"神秘坚定,敏锐洞察力强,但有时孤僻复杂,多疑狂妄。",
"射手座"->"开朗乐观,爱自由冒险,但有时粗心大意,缺乏深度。",
"摩羯座"->"稳重谨慎,有耐心和野心,但有时过于保守功利,缺乏热情。",
"水瓶座"->"创新独立,理想主义,友善且叛逆,但有时反叛冷漠。",
"双鱼座"->"浪漫敏感,富有同情心,爱幻想,但有时意志薄弱,粗心大意。"
)
map.getOrElse(zodiac, "未知")
}
def main(args: Array[String]): Unit = {
val idCard = "429005200410100053"
val gender = getGender(idCard)
val brithday = getBirthday(idCard)
val age = getAge(idCard)
val province = getProvince(idCard)
val zodiac = getZodiac(idCard)
val info = getInfo(zodiac)
println(s"---------------------------------")
println(s"籍贯:${province}")
println(s"性别:${gender}")
println(s"年龄:${age}")
println(s"生日:${brithday}")
println(s"星座:${zodiac}")
println(s"星座介绍:${info}")
println(s"---------------------------------")
}