Scala中身份证的使用

ops/2024/11/26 5:51:32/
package hfd
import  scala.util.Random
//字符串
//知识点
//1.toInt把字符串转成整数
//2.toUpperCase变大写
//3.toLomerCase变小写
//4.substring(起点,终点,不包括)字符串截取
//5.chartAt(下标)得到对应位置的字符(不是字符串)
//6.asDigit把字符串转为数字
//7."""三引号字符串,支持换行
//8.contains是否包含子串
//9.
object Test29 {def main(args: Array[String]): Unit = {//val score=89val id="42032220080903332x"//1.生日是?//字符串截取val brithday=id.substring(10,14)//不包括终点下标println(s"生日:${brithday}")val year=id.substring(6,10)//6,7,8,9这个下标println(s"省份:${year}")//2008//性别:倒数第二位2
//如果是奇数:boy,偶数:girl//val gender=id(16)val gender=id.substring(16,17)println(gender)if(gender.toInt %2==0) {println("她是女生")}else{println("他是男生")}//前两位表示省份val province=id.substring(0,2).toIntval m1=Map((41,"河南"),(42,"湖北"),(43,"湖南"),(44,"广东"),(45,"广西"),(46,"海南"))
println(province)println(s"籍贯是:${m1.get(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("省份为海南")
//    }val weights=Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)val checkCodes="10x98765432"
//id(0).toInt*meights(0)+id(i).toInt*meights(var sum=0
//对身份证的前17位,与对应的权重相乘做累加for(i<-0 to 16){sum+=id(i).toInt*weights(i)}//把累加的结果模11,找到对应的验证码
if(id.charAt(17)==checkCodes.charAt(sum%11)){println(s"身份证号${id}是合法的")
}else{println(s"身份证号${id}是不合法的")
}}
}

http://www.ppmy.cn/ops/136758.html

相关文章

数据库的联合查询

数据库的联合查询 简介为什么要使⽤联合查询多表联合查询时MYSQL内部是如何进⾏计算的构造练习案例数据案例&#xff1a;⼀个完整的联合查询的过程 内连接语法⽰例 外连接语法 ⽰例⾃连接应⽤场景示例表连接练习 ⼦查询语法单⾏⼦查询多⾏⼦查询多列⼦查询在from⼦句中使⽤⼦查…

极简开源Windows桌面定时提醒休息python程序

当我们长期在电脑面前坐太久后&#xff0c;会产生一系列健康风险&#xff0c;包括干眼症&#xff0c;颈椎&#xff0c;腰椎&#xff0c;肌肉僵硬等等。解决方案是在一定的时间间隔内我们需要have a break, 远眺可以缓解干眼症等眼部症状&#xff0c;站起来走动两步&#xff0c;…

一键部署zabbix-agent2的脚本

1、首先下载agent2的安装包 我是X86的centos 7系统&#xff0c;zabbix-agent2-5.0.42-1.el7.x86_64.rpm下载地址&#xff0c;另外很多国产系统统信、中科方德也适用这个版本。 这个网站里面有其他版本的&#xff0c;自行选择下载 https://repo.zabbix.com/zabbix/5.0/rhel/7/…

jmeter5.6.3安装教程

一、官网下载 需要提前配置好jdk的环境变量 jmeter官网&#xff1a;https://jmeter.apache.org/download_jmeter.cgi 选择点击二进制的zip文件 下载成功后&#xff0c;默认解压下一步&#xff0c;更改安装路径就行(我安装在D盘) 实用jmeter的bin目录作为系统变量 然后把这…

大数据新视界 -- Hive 数据分区:提升查询效率的关键步骤(下)(8/ 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

线性代数空间理解

学习线性代数已经很久&#xff0c;但是在使用过程中仍然还是不明所以&#xff0c;比如不知道特征向量和特征值的含义、矩阵的相乘是什么意思、如何理解矩阵的秩……。随着遇到的次数越来越多&#xff0c;因此我决定需要对线性代数的本质做一次深刻的探讨了。 本次主要是参考了3…

10大排序总结

1. 冒泡排序 (Bubble Sort) def bubble_sort(arr):n len(arr)# 遍历数组中的每个元素for i in range(n):# 内层循环&#xff0c;从数组的第一个元素到倒数第 i 1 个元素for j in range(0, n - i - 1):# 如果当前元素比下一个元素大&#xff0c;则交换if arr[j] > arr[j …

241124学习日志——[CSDIY] [ByteDance] 后端训练营 [14]

CSDIY&#xff1a;这是一个非科班学生的努力之路&#xff0c;从今天开始这个系列会长期更新&#xff0c;&#xff08;最好做到日更&#xff09;&#xff0c;我会慢慢把自己目前对CS的努力逐一上传&#xff0c;帮助那些和我一样有着梦想的玩家取得胜利&#xff01;&#xff01;&…