scala中的字符串-身份证中的秘密

23 阅读2分钟

(一)String 的定义

String 在 Scala 中是不可变的字符序列,这意味着一旦创建,其内容就不能被修改。

定义格式:

1.双引号: val str = "xxxx"

2.三引号。支持换行。

object string01 {
  def main(args: Array[String]): Unit = {
    val str1 = "静夜思  李白 "

    val str2 =
      """
        静夜思
        李白
        """

    println(str1)
    println(str2)
  }
}

//运行结果:
静夜思  李白 

        静夜思
        李白

(二)String 的常用方法

1.索引访问

可以使用索引来访问字符串中的字符,索引从 0 开始。例如:

val str = "Scala"
println(str(0)) // 输出:S

2.长度获取

使用length方法获取字符串长度。例如:

val str = "Scala is great"
println(str.length) // 输出:14

3.子串提取

使用substring方法可以提取字符串的子串。

格式: subString(起点,终点-不包括)

/*
* 字符串:
* 常见操作:
*  1.获取单个字符
*  2.字符长度 空格也要是有效的字符 它也会占长度
*  3.字符串的截取:从当前字符串中 截取一段出来 sbuString(起点下标,终点下标-不包含)
* */
object string02 {
  def main(args: Array[String]): Unit = {
    val str1 = "hello scala"
    //字符串(下标) 下标从0开始
    println(str1(0))
    println("字符串的长度是:" + str1.length)

    //把ello 这四个字符取出来
    val str2 = str1.substring(1,5)
    println(str2)

    val str3 = str1.substring(7,10)
    println(str3)
 }
 
 //运行结果:
 h
字符串的长度是:11
ello
cal

4.字符串转成数字

字符转成数字:

charAt() 得到的是字符,如果对字符使用toInt,就会得到对于的ASCII码。

asDigit。正确的使用方式是用asDiget。

/*
* 字符串:
* 常见操作:
*  1.获取单个字符
*  2.字符长度 空格也要是有效的字符 它也会占长度
*  3.字符串的截取:从当前字符串中 截取一段出来 sbuString(起点下标,终点下标-不包含)
*  4.转成数字
*
*
* */
object string02 {
  def main(args: Array[String]): Unit = {
    val str1 = "hello scala"
    //字符串(下标) 下标从0开始
    println(str1(0))
    println("字符串的长度是:" + str1.length)

    //把ello 这四个字符取出来
    val str2 = str1.substring(1,5)
    println(str2)

    val str3 = "我的手机号的第三位是31"
    //把3截取出来
    val str4 = str3.substring(10,12)// str4 是一个字符串"3"
    println(str4 + 10)//310
    println(str3)

    val n =str4.toInt
    println(n + 1)
  }

}

//运行结果:
h
字符串的长度是:11
ello
3110
我的手机号的第三位是31
32

(三)身份证号的基本知识

前2位是省市的信息;

后四位是具体的乡镇信息;

接下来8位是生日;

倒数第2位表示性别;

最后一位是校验码;

(四)案例实现:输入身份证号输出基本信息

编写程序,实现效果。

从键盘上输入一个身份证号,输出判断结果

籍贯:湖北省

性别:男

年龄:40

生日:06-11

星座:巨蟹

性格:

未完待续