身份证号

14 阅读1分钟
def getGender(idCard:String):String = {
  val g = idCard.substring(16,17).toInt
  if (g % 2 == 1){
    "男"
  } else {
    "女"
  }
}
def main(args: Array[String]): Unit = {
  val idCard = "429005200410100053"

  val gender = getGender(idCard)
  val brithday = "10-10"
  val age = 21
  val province = "湖北"
  val zodiac = "天秤座"

  println(s"---------------------------------")
  println(s"籍贯:${province}")
  println(s"性别:${gender}")
  println(s"年龄:${age}")
  println(s"生日:${brithday}")
  println(s"星座:${zodiac}")
  println(s"---------------------------------")
}
--------------------------------------------------------------
修改后,代码如下:
def getGender(idCard:String):String = {
  val g = idCard.substring(16,17).toInt
  if (g % 2 == 1){
    "男"
  } else {
    "女"
  }
}
def getProvince(idCard:String):String = {
  val code = idCard.substring(0,2)
  val map = 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"->"澳门特别行政区")
  map.getOrElse(code,"未知")}
def getAge(idCard: String):Int = {
  val year = idCard.substring(6,10)
  LocalDate.now().getYear - year.toInt
}
def getBirthday(idCard: String): String = {
  val month = idCard.substring(10,12)
  val day = idCard.substring(12,14)
  month + "-" + day
}