当你学习了scala入门时,你会发现他好简单,和计算机入门的C语言有三分相似,于是你越学越上头,逐渐爱上了这种感觉,基础学着学者你又觉得自己可以了,Scala太简单了。
不好意思,入门单科是有点简单,但逐渐融合呢?现在我带你们探索入门级的身份证解码编程小代码。
package string
import java.time.LocalDate
/*
身份证判断
*/
object string3 {
def main(args: Array[String]): Unit = {
val str1= scala.io.StdIn.readLine("请输入您要判断的身份证号:")
// 判断是否是18位
if (str1.length ==18){
//判断性别
val str2 = str1.substring(16,17)
//val str2 = str1.substring(17,18).toInt
val str3 = str2.toInt
if (str3 %2 == 0){
println("这是一个女孩子")
}
else {
println("这是一个男孩子")
}
//判断他的年龄
val str4 = str1.substring(6,10).toInt
val str5 = LocalDate.now().getYear - str4
println(s"孩子今年:${str5}岁")
// 请判断号主是那个省的
val str6 = str1.substring(0,2).toInt
val str7 = 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 -> "澳门特别行政区"
)
val str8 = str7.getOrElse(str6,"未知省份")
println(s"所属省份是:${str8}")
}
else {
println(s"${str1}不是一个合法的身份证,长度不对")
}
}
}