package string
/**
* String 类型,字符串
* 定义字符串:
* 1.双引号
* 2.三引号
*/
object string01 {
def main(args: Array[String]): Unit = {
val name = "小花"
val str = s"I like scala,${name}"
val content ="""
静夜思
李白
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
"""
println(content)
}
}

package string
object string02 {
def main(args: Array[String]): Unit = {
val str="hello scala"
println(str.length)
println(str(0))
println(str.substring(2,5))
println(str.substring( 7 , 10 ))
}
}

package string
import java.time.LocalDate
object string03 {
def getGender(idCard: String): String = {
val g = idCard.substring(16, 17).toInt
if (g % 2 == 1) {
"男"
} else {
"女"
}
}
def getAge(idCard: String): Int = {
val year = idCard.substring(6, 10)
LocalDate.now().getYear - year.toInt
}
def getprovince(idCard: String): String = {
val code = idCard.substring(0, 2)
val map = Map("11" -> "北京", "12" -> "天津", "13" -> "河北", "14" -> "山西", "15" -> "内蒙古", "21" -> "辽宁", "22" -> "吉林", "23" -> "黑龙江", "31" -> "上海", "32" -> "江苏", "33" -> "浙江", "34" -> "安徽", "35" -> "福建", "36" -> "江西", "37" -> "山东", "41" -> "河南", "42" -> "湖北", "43" -> "湖南", "44" -> "广东", "45" -> "广西", "46" -> "海南", "50" -> "重庆", "51" -> "四川", "52" -> "贵州", "53" -> "云南", "54" -> "西藏", "61" -> "陕西", "62" -> "甘肃", "63" -> "青海", "64" -> "宁夏", "65" -> "新疆", "71" -> "台湾", "81" -> "香港", "82" -> "澳门")
map.getOrElse(code, "未知")
}
def main(args: Array[String]): Unit = {
val idCard = "234493200410100083"
val gender = getGender(idCard)
val birthday = "10-10"
val age = 21
val province = "湖北"
val zodiac = "天秤座"
println(s"-------------------------")
println(s"籍贯:${province}")
println(s"性别:${gender}")
println(s"年龄:${age}")
println(s"生日:${birthday}")
println(s"星座:${zodiac}")
println(s"-------------------------")
}
}

package string
import java.time.LocalDate
import scala.collection.immutable
object string03 {
def getGender(idCard: String): String = {
val g = idCard.substring(16, 17).toInt
if (g % 2 == 1) {
"男"
} else {
"女"
}
}
def getAge(idCard: String): Int = {
val year = idCard.substring(6, 10)
LocalDate.now().getYear - year.toInt
}
def getprovince(idCard: String): String = {
val code = idCard.substring(0, 2)
val map = Map("11" -> "北京", "12" -> "天津", "13" -> "河北", "14" -> "山西", "15" -> "内蒙古", "21" -> "辽宁", "22" -> "吉林", "23" -> "黑龙江", "31" -> "上海", "32" -> "江苏", "33" -> "浙江", "34" -> "安徽", "35" -> "福建", "36" -> "江西", "37" -> "山东", "41" -> "河南", "42" -> "湖北", "43" -> "湖南", "44" -> "广东", "45" -> "广西", "46" -> "海南", "50" -> "重庆", "51" -> "四川", "52" -> "贵州", "53" -> "云南", "54" -> "西藏", "61" -> "陕西", "62" -> "甘肃", "63" -> "青海", "64" -> "宁夏", "65" -> "新疆", "71" -> "台湾", "81" -> "香港", "82" -> "澳门")
map.getOrElse(code, "未知")
}
def getBirtday(idCard: String): Unit = {
val month = idCard.substring(10, 12).toInt
val day = idCard.substring(12, 14).toInt
month + "-" + day
}
def getzODiac(idCard: String): Unit = {
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 <= 21)) "双子座"
else if ((month == 6 && day >= 22) || (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 <= 23)) "天秤座"
else if ((month == 10 && day >= 24) || (month == 11 && day <= 22)) "天蝎座"
else if ((month == 11 && day >= 23) || (month == 12 && day <= 21)) "射手座"
else if ((month == 11 && day >= 23) || (month == 12 && day <= 21)) "魔歇座"
else "未知"
}
def getInfo(zodiac:String):String={
val map =Map(
"白羊座"->"热情奔放,充满活力,喜欢追求新鲜刺激,但有时冲动易怒,固执己见",
"金牛座"->"沉稳可靠,务实坚韧,对美食和艺术有品味,但性格固执,适应新变化慢",
"双子座"->"头脑灵活,善于交际,对新鲜事物充满好奇,但做事没长性,容易分心",
"巨蟹座"->"温柔恋家,体贴包容,富有同情心,但内心敏感脆弱,情绪波动较大",
"狮子座"->"自信大方,极具领导力,待人慷慨热情,但好面子爱炫耀,控制欲较强",
"处女座"->"细致严谨,逻辑清晰,做事精益求精,但过度追求完美,爱吹毛求疵",
"天秤座"->"优雅友善,擅长协调人际关系,审美出众,但选择困难,易为合群失主见",
"天蝎座"->"意志坚定,洞察力强,对感情格外执着,但性格神秘高冷,占有欲强且记仇",
"射手座"->"乐观豁达,热爱自由,喜欢探索未知,但做事粗心,说话坦率易得罪人",
"摩羯座"->"责任感强,自律沉稳,做事脚踏实地,但性格严肃古板,习惯压抑情绪",
"水瓶座"->"想法前卫,崇尚自由,富有创新精神,但性格过于自我,有时缺乏责任心",
"双鱼座"->"浪漫善良,富有同情心,想象力丰富,但爱幻想易情绪化,遇事缺乏理性")
map.getOrElse(zodiac,"未知")
}
def main(args: Array[String]): Unit = {
val idCard = "234493200410100083"
val gender = getGender(idCard)
val birthday = getBirtday(idCard)
val age = getAge(idCard)
val province = getprovince(idCard)
val zodiac = getzODiac(idCard)
println(s"-------------------------")
println(s" 籍贯:${province}")
println(s" 性别:${gender}")
println(s" 年龄:${age}")
println(s" 生日:${birthday}")
println(s" 星座:${zodiac}")
println(s" 性格介绍:${getInfo}")
println(s"-------------------------")
}
}
