scala之代码带你防沉迷

42 阅读1分钟

当你学习了scala入门时,你会发现他好简单,和计算机入门的C语言有三分相似,于是你越学越上头,逐渐爱上了这种感觉,基础学着学者你又觉得自己可以了,Scala太简单了。

不好意思,入门单科是有点简单,但逐渐融合呢?现在我带你们探索入门级的身份证解码编程小代码。

package string

import java.time.LocalDate

/*
 身份证判断
 */
object string3 {
  def main(args: Array[String]): Unit = {
    val str1= scala.io.StdIn.readLine("请输入您要判断的身份证号:")
    // 判断是否是18位
    if (str1.length ==18){
      //判断性别
      val str2 = str1.substring(16,17)
      //val str2 = str1.substring(17,18).toInt
      val str3 = str2.toInt
      if (str3 %2 == 0){
        println("这是一个女孩子")
      }
      else {
        println("这是一个男孩子")
      }
      //判断他的年龄
      val str4 = str1.substring(6,10).toInt
      val str5 = LocalDate.now().getYear - str4
      println(s"孩子今年:${str5}岁")
      // 请判断号主是那个省的

      val str6 = str1.substring(0,2).toInt
      val str7 = 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 -> "澳门特别行政区"
      )
      val str8 = str7.getOrElse(str6,"未知省份")
      println(s"所属省份是:${str8}")
    }
    else {
      println(s"${str1}不是一个合法的身份证,长度不对")

    }
  }
}