Scala中身份证的利用

打印 上一主题 下一主题

主题 842|帖子 842|积分 2526

  1. package hfd
  2. import  scala.util.Random
  3. //字符串
  4. //知识点
  5. //1.toInt把字符串转成整数
  6. //2.toUpperCase变大写
  7. //3.toLomerCase变小写
  8. //4.substring(起点,终点,不包括)字符串截取
  9. //5.chartAt(下标)得到对应位置的字符(不是字符串)
  10. //6.asDigit把字符串转为数字
  11. //7."""三引号字符串,支持换行
  12. //8.contains是否包含子串
  13. //9.
  14. object Test29 {
  15.   def main(args: Array[String]): Unit = {
  16.     //val score=89
  17.     val id="42032220080903332x"
  18.     //1.生日是?
  19.     //字符串截取
  20.     val brithday=id.substring(10,14)//不包括终点下标
  21.     println(s"生日:${brithday}")
  22.     val year=id.substring(6,10)//6,7,8,9这个下标
  23.     println(s"省份:${year}")//2008
  24. //性别:倒数第二位2
  25. //如果是奇数:boy,偶数:girl
  26.     //val gender=id(16)
  27.     val gender=id.substring(16,17)
  28.     println(gender)
  29.     if(gender.toInt %2==0) {
  30.       println("她是女生")
  31.     }else{
  32.       println("他是男生")
  33.     }
  34.     //前两位表示省份
  35.     val province=id.substring(0,2).toInt
  36.     val m1=Map((41,"河南"),(42,"湖北"),(43,"湖南"),(44,"广东"),(45,"广西"),(46,"海南"))
  37. println(province)
  38.     println(s"籍贯是:${m1.get(province)}")
  39.     //    if(province==41){
  40. //      println("省份为河南")
  41. //      }else if(province==42) {
  42. //      println("省份为湖北")
  43. //    }else if(province==43){
  44. //      println("省份为湖南")
  45. //    } else if (province == 44) {
  46. //      println("省份为广东")
  47. //    } else if (province == 45) {
  48. //      println("省份为广西")
  49. //    } else if (province == 46) {
  50. //      println("省份为海南")
  51. //    }
  52.     val weights=Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)
  53.     val checkCodes="10x98765432"
  54. //id(0).toInt*meights(0)+id(i).toInt*meights(
  55.     var sum=0
  56. //对身份证的前17位,与对应的权重相乘做累加
  57.     for(i<-0 to 16){
  58.       sum+=id(i).toInt*weights(i)
  59.     }
  60.     //把累加的结果模11,找到对应的验证码
  61. if(id.charAt(17)==checkCodes.charAt(sum%11)){
  62.   println(s"身份证号${id}是合法的")
  63. }else{
  64.   println(s"身份证号${id}是不合法的")
  65. }
  66.   }
  67. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表