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=89val 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).toIntval 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}是不合法的") }} }