package hfd
import scala.util.Random
//字符串
//知识点
//1.toInt把字符串转成整数
//2.toUpperCase变大写
//3.toLomerCase变小写
//4.substring(起点,终点,不包括)字符串截取
//5.chartAt(下标)得到对应位置的字符(不是字符串)
//6.asDigit把字符串转为数字
//7."""三引号字符串,支持换行
//8.contains是否包含子串
//9.
object Test29 {
def main(args: Array[String]): Unit = {
//val score=89
val id="42032220080903332x"
//1.生日是?
//字符串截取
val brithday=id.substring(10,14)//不包括终点下标
println(s"生日:${brithday}")
val year=id.substring(6,10)//6,7,8,9这个下标
println(s"省份:${year}")//2008
//性别:倒数第二位2
//如果是奇数:boy,偶数:girl
//val gender=id(16)
val gender=id.substring(16,17)
println(gender)
if(gender.toInt %2==0) {
println("她是女生")
}else{
println("他是男生")
}
//前两位表示省份
val province=id.substring(0,2).toInt
val m1=Map((41,"河南"),(42,"湖北"),(43,"湖南"),(44,"广东"),(45,"广西"),(46,"海南"))
println(province)
println(s"籍贯是:${m1.get(province)}")
// if(province==41){
// println("省份为河南")
// }else if(province==42) {
// println("省份为湖北")
// }else if(province==43){
// println("省份为湖南")
// } else if (province == 44) {
// println("省份为广东")
// } else if (province == 45) {
// println("省份为广西")
// } else if (province == 46) {
// println("省份为海南")
// }
val weights=Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)
val checkCodes="10x98765432"
//id(0).toInt*meights(0)+id(i).toInt*meights(
var sum=0
//对身份证的前17位,与对应的权重相乘做累加
for(i<-0 to 16){
sum+=id(i).toInt*weights(i)
}
//把累加的结果模11,找到对应的验证码
if(id.charAt(17)==checkCodes.charAt(sum%11)){
println(s"身份证号${id}是合法的")
}else{
println(s"身份证号${id}是不合法的")
}
}
}