// 字符串
//知识点
//1.toInt 把字符串转成整数
//2.toUpperCase 变大写
//3.toLowerCase 变小写
//4.subString(起点,终点-不包括下标) 字符串截取
//5.charAt(下标) 得到对应位置的字符(不是字符串)
//6.asDigit 把字符转成文字
//7."""三引号字符串,支持换行
//8.contains 是否包含子串
//9.length属性:用来获取有几个字符
//10.拆分
object Test24 {
def main(args: Array[String]): Unit = {
println("abc".length)
val id = "42032220080903332X"
println(s"身份证号是:${id}")
// 1. 生日是?
// 字符串截取
val birthday = id.substring(10,14) // 终点不包括下标
println(s"生日是:${birthday}")
val year = id.substring(6,10)
println(s"年份是:${year}")
//性别:倒数第二位
// 如果是奇数:boy 偶数:girl
// val gender = id(16)
val gender = id.charAt(16)
println(gender)
if (gender.asDigit % 2 == 0){
println("性别是:女孩")
}else{
println("性别是:男孩")
}
// 前两位表示省份
// (1)
// val province = id.substring(0,2)
// println(province)
// if (province.toInt == 41){
// println("省份是:河南")
// }else if(province.toInt == 42){
// println("省份是:湖北")
// }else if(province.toInt == 43){
// println("省份是:湖南")
// }else if (province.toInt == 44){
// println("省份是:广东")
// }else if (province.toInt == 45){
// println("省份是:广西")
// } else if (province.toInt == 46) {
// println("省份是:海南")
// }
//(2)
// val province = id.substring(0,2).toInt
// println(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("省份是:海南")
// }
//(3)
// val province = id.substring(0,2)
// println(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("省份是:海南")
// }
//(4)
val province = id.substring(0,2).toInt
val m1 = Map((41,"河南"),(42,"湖北"),(43,"湖南"),(44,"广东"),(45,"广西"),(46,"海南"))
println(s"籍贯是:${m1.get(province)}")
// 验证身份证是否合法?
//每一位的权重
val weights = Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)
val checkCodes = "10X98765432"
var sum = 0
// 对身份证的第十七位,与对应的权重相乘做累加
for(i <- 0 to 16){
sum += id(i).asDigit * weights(i)
}
// 把累加的结果模11,找到对应的校验码
if(id.charAt(17) == checkCodes.charAt(sum % 11)){
println(s"身份证号${id}是合法的")
}else{
println(s"身份证号${id}是不合法的")
}
println("abcACB".toUpperCase)
val str1 ="""
静夜思
李白
床前明月光
疑是地上霜
"""
}
}
身份证号上的秘密
最新推荐文章于 2025-06-12 22:49:03 发布