用Scala通过身份证号获得其他信息的方法

知识点

1.toInt。把字符串转成整型

2.toUpperCase。变大写

3.toLowerCase变小写

4.substring(起点,终点-不包括)字符串截取

5.charAt(下标)得到对应位置的字符(不是字符串)

6.asDigit.把字符转成数字

8.contains是否包含子串

9.length属性,用来获取有几个字符串。

Scala 复制代码
package test31
object test {
  def main(args: Array[String]): Unit = {
    val id = "44538198880930666X".toUpperCase//变大写
    //1.生日是?
    val birthday = id.substring(10, 14) //不包括终点下标
    println(s"生日是${birthday}")
    val year = id.substring(6, 10)
    println(s"年份是${year}")
    //性别:倒数第二位,如果基数就是boy,偶数:girl
    val gender = id.substring(16, 17)
    if (gender.toInt % 2 == 0) {
      println("性别是:girl")
    } else {
      println("性别是:boy")
    }
    //前两位表示省份
    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)
    }
    if(id.charAt(17) == checkCodes.charAt(sum%11)){
      println("校验通过")
    }else{
      println("校验失败")
    }
//    val m2=id(0).toInt*7+id(1).toInt*9+id(2).toInt*10+id(3).toInt*5+id(4).toInt*8+id(5).toInt*4+id(6).toInt*2+
//      id(7).toInt*1+id(8).toInt*6+id(9).toInt*3+id(10).toInt*7+id(11).toInt*9+id(12).toInt*10+id(13).toInt*5+
//      id(14).toInt*8+id(15).toInt*4+id(16).toInt*2
//    if (m2%11==id(17).toInt){
//      println("合法")
//    }else{
//      println("不合法")
//    }
    println("abcABC".toLowerCase)
    val str1="""
      静夜思 
        李白
                床前明月光,
                疑是地下霜。
    """ 
    println(str1)
    }
}
相关推荐
开开心心就好3 天前
用户推荐的文件解锁与强制操作工具
安全·智能手机·pdf·scala·音视频·symfony·1024程序员节
WL_Aurora4 天前
Scala核心编程(二):变量与数据类型详解
开发语言·scala
WL_Aurora5 天前
Scala核心编程(一):Scala语言概述与快速入门
spark·scala
o丁二黄o6 天前
语义版本控制:用Gemini镜像站实现合同条款的深度差异分析与风险追踪
javascript·kotlin·scala
与仪共舞9 天前
罗德与施瓦茨 NRP18S|三路二极管射频功率传感器
scala·数据库架构
howard200513 天前
1.8.3 掌握Scala类与对象 - Scala基本骨架方法
scala·基本骨架方法
howard200513 天前
1.9 掌握Scala抽象类与特质
scala·抽象类·特质
howard200514 天前
1.8.2 掌握Scala类与对象 - 单例对象与伴生对象
scala·伴生对象·单例对象
howard200516 天前
1.7.1 掌握Scala函数 - 声明Scala函数
scala·声明scala函数·显式声明·隐式声明
howard200518 天前
1.6.4 掌握Scala数据结构 - 元组
scala·元组