String案例

1.String类开发验证码功能

需求:

  • 随机生产一个5位的验证码,每位可能是数字、大写字母、小写字母。

分析:

  • 定义一个String类型的变量存储验 a-z、A-Z、0-9 之间的全部字符。
  • 循环5次,随机一个范围内的索引,获取对应字符连接起来即可。

实现:

1.定义可能出现的字符信息: a-z、A-Z、0-9
2.创建随机数对象,用于随机一个索引位置
3.定义一个空字符串的变量,用于连接5位验证码
4.定义for循环,循环5次: (4.1) 每循环一次,就随机生成一个索引位置(4.2) 调用String类API: charAt(),获取某个索引位置的字符(4.3) 将获取到的字符连接起来
5.循环结束,输出验证码
package com.app.string;import java.util.Random;/**练习题:使用String完成随机生成5位的验证码*/
public class StringExce7 {public static void main(String[] args) {// 1.定义可能出现的字符信息: a-zA-Z0-9String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";// 2.创建随机数对象,用于随机一个索引位置Random rd = new Random();// 3.定义一个空字符串的变量,用于连接5位验证码String code = "";// 4.定义for循环,循环5次:for (int i = 0; i < 5; i++) {// i = 0 1 2 3 4// (4.1) 每循环一次,就随机生成一个索引位置int index = rd.nextInt(str.length());// (4.2) 调用String类API: charAt(),获取某个索引位置的字符char c = str.charAt(index);// (4.3) 每循环一次,就将获取到的字符连接起来code += c;}// 5.循环结束,输出验证码System.out.println("随机验证码: " + code);}
}
控制台:随机验证码: UB96nProcess finished with exit code 0

2.模拟用户登录功能

需求:

  • 模拟用户登录功能,密码或者用户名输错,最多只能给三次重新输入的机会。

分析:

  • 系统后台定义一个正确的用户名及密码
  • 用户输入自己的用户名及密码,后台判断用户名及密码 都是否与 正确的用户名及密码 匹配得上,是则登录成功~,否则用户名或密码错误!允许用户重新输入,但是最多只给三次机会。

实现:

1.定义正确的用户名和密码
2.创建键盘录入对象,用于用户输入用户名和密码
3.定义for循环,循环3次: (3.1) 用户输入用户名和密码并用变量接收(3.2) 判断用户名是否正确: a: 用户名正确,判断密码是否正确: (1) 密码正确,登录成功~ 结束循环(2) 密码不正确,密码错误!循环不会结束,会让用户重新输入。3次后,自动结束循环,因为 i<=3。b: 用户名不正确,用户名错误!循环不会结束,会让用户重新输入。3次后,自动结束循环,因为 i<=3。
package com.app.string;import java.util.Scanner;/**练习题:使用String开发模拟用户登录功能*/
public class StringExce8 {public static void main(String[] args) {// 1.定义正确的用户名和密码String okUser = "LaoBaby";String okPassword = "LaoBaby2022";// 2.创建键盘录入对象,用于用户输入用户名和密码Scanner sc = new Scanner(System.in);// 3.定义for循环,循环3次:for (int i = 1; i <= 3; i++) {// i = 0 1 2// (3.1) 用户输入用户名和密码并用变量接收System.out.println("请您输入用户名: ");String user = sc.next();System.out.println("请您输入密码: ");String password = sc.next();// (3.2) 判断用户名是否正确:if (user.equals(okUser)) {// a: 用户名正确,判断密码是否正确:if (password.equals(okPassword)) {// (1) 密码正确,登录成功~ 结束循环System.out.println("登录成功~");break;}else {// (2) 密码不正确,密码错误!循环不会结束,会让用户重新输入。System.out.println("密码错误!您还有" + (3-i) + "次机会!");// 三次机会用完,会自动结束循环,因为 i <= 3}}else {// b: 用户名不正确,用户名错误!循环不会结束,会让用户重新输入。System.out.println("用户名错误!您还有" + (3-i) + "次机会!");// 三次机会用完,会自动结束循环,因为 i <= 3}}}
}
控制台:请您输入用户名:
LaoBaby
请您输入密码:
LaoBaby2022
登录成功~Process finished with exit code 0--------------------------------------------------------------请您输入用户名:
asd
请您输入密码:
asd
用户名错误!您还有2次机会!
请您输入用户名:
geg
请您输入密码:
afs
用户名错误!您还有1次机会!
请您输入用户名:
LaoBaby
请您输入密码:
LaoBaby2022
登录成功~Process finished with exit code 0---------------------------------------------------------------请您输入用户名:
LaoBaby
请您输入密码:
213
密码错误!您还有2次机会!
请您输入用户名:
LaoBaby
请您输入密码:
242
密码错误!您还有1次机会!
请您输入用户名:
LaoBaby
请您输入密码:
4314
密码错误!您还有0次机会!Process finished with exit code 0

2.手机号码屏蔽

需求:

  • 以字符串形式从键盘录入一个手机号码,将中间四位号码屏蔽

分析:

  • 调用键盘录入对象功能,录入一个手机号码
  • 将录入的手机号码的中间四位号码屏蔽

实现:

1.创建键盘录入对象,用于录入手机号码
2.输入一个手机号码
3.判断输入的手机号码的个数 是否为11个数(3.1) 是11个数: a: 调用String类的API: substring,截取出中间四位号码调用String类的API: replace,将截取到的四位号码替换成 "****"b: 将屏蔽后的手机号码输出(3.2) 不是11个数,提示: "这不是手机号码!"
package com.app.string;import java.util.Scanner;/**练习题:使用String完成手机号码屏蔽*/
public class StringExce9 {public static void main(String[] args) {// 1.创建键盘录入对象,用于录入手机号码Scanner sc = new Scanner(System.in);// 2.输入一个手机号码System.out.println("请输入您的手机号码(11个数): ");String phone = sc.next();// 3.判断输入的手机号码的个数 是否为11个数if (phone.length() == 11) {// (3.1) 是11个数:// a:调用String类的API: substring,截取出中间四位号码//   调用String类的API: replace,将截取到的四位号码替换成 "****"String secretPhone = phone.replace(phone.substring(3,7),"****");// b: 将屏蔽后的手机号码输出System.out.println(secretPhone);}else {// (3.2) 不是11个数,提示: "这不是手机号码!"System.out.println("这不是手机号码!");}}
}
控制台:请输入您的手机号码(11个数):
13833884384
138****4384Process finished with exit code 0

59-Java:String类案例:验证码、登录、隐私号码相关推荐

  1. java --String类解决面试问题

    2019独角兽企业重金招聘Python工程师标准>>> 1.概述 字符串对象是一种特殊的对象.String类是一个不可变的类..也就说,String对象一旦创建就不允许修改 Stri ...

  2. Java——String类的方法

    Java--String类的方法 String str1 = "abc" 与String str2 = new String("abc")有什么区别? 字符串常 ...

  3. java string.substring 参数,Java,String类中的subString()方法,stringsubstring

    Java,String类中的subString()方法,stringsubstring public class TestStringSubString { // main函数 public stat ...

  4. Java String类的相关操作

    Java String类的相关操作 一.如何遍历字符串 //法一 String str="hello world"; for(int i=0;i<str.length();i ...

  5. Java String类的split方法简介

    Java String类的split方法简介 String的split()方法用于按传入的字符或字符串对String进行拆分,返回拆分之后的数组. 1.一般用法 用一般的字符,例如 @ 或 , 等符号 ...

  6. Java String类概述

    Java String类 String类简介 字符串比较 String对象(常量)池 静态常量池 运行时常量池 String类简介 字符串严格意义上来讲并不能算是一个基本数据类型,也就是说没有任何一门 ...

  7. 黑马程序员——Java String类 and 正则表达式(第七篇)

    -----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 虽然老毕视频中把正则表达式放到了最后面才讲,但个人认为他和String功能上有些 ...

  8. java String类的概述和使用

    文章目录 javaString类的概述和使用 String类的概念(重点) 常量池的概念(原理) 常用的构造方法(练熟.记住) 常用的成员方法(练熟.记住) 正则表达式的概念(了解) 正则表达式的规则 ...

  9. Java String类Api文档

    String类APi文档 常用方法概述 比较相关 返回值类型 方法名 描述 boolean contentEquals() 将此字符串与指定的 StringBuffer 比较. boolean end ...

最新文章

  1. 台湾MCI报告:Security SaaS风潮渐起
  2. echart的关系图高亮_echarts鼠标覆盖高亮显示节点及关系名称详解
  3. 云计算大会有感—MapReduce和UDF
  4. 【城市沙龙】LiveVideoStack Meet|南京:互联网沙漠的音视频发展
  5. 原来华为是一家做音乐的公司
  6. kubernetes ConfigMap和Secret:配置应用程序
  7. clean,compile,build,install,package区别
  8. (原创)c#学习笔记03--变量和表达式03--变量01--简单类型
  9. ES6学习摘要(03)(新人学习)
  10. 删数问题 详解(C++)
  11. pythonfor循环是迭代器吗_Python学习——for循环,生成器,迭代器详解
  12. matlab 取整数命令,matlab取整函数命令代码
  13. IDEA快速启动ssm项目
  14. flash发布html快捷键,flash快捷键大全
  15. 书单(三)-从小到大课外阅读书籍顺序
  16. Layui数据表格添加时间控件
  17. 页面浏览量和点击量_如何计算页面浏览量
  18. 幻影影音 - 免费的多媒体视频播放器
  19. 人脸识别调研报告2021
  20. 参加科学教师与计算机培训总结报告,信息技术校本培训总结

热门文章

  1. 本地配置hosts文件
  2. LC并联谐振回路(转载)
  3. 地名地址楼栋号爬取工具
  4. English--分词短语
  5. 『教程』L0、L1与L2范数
  6. 黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条新规约
  7. 转载:高德地图计算2点之间的距离
  8. 失物招领系统的设计与实现
  9. NXP Support Package S32K1xx 安装
  10. 巴萨教父克鲁伊夫去世西班牙黄金一代谢幕的一点感想