59-Java:String类案例:验证码、登录、隐私号码
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类案例:验证码、登录、隐私号码相关推荐
- java --String类解决面试问题
2019独角兽企业重金招聘Python工程师标准>>> 1.概述 字符串对象是一种特殊的对象.String类是一个不可变的类..也就说,String对象一旦创建就不允许修改 Stri ...
- Java——String类的方法
Java--String类的方法 String str1 = "abc" 与String str2 = new String("abc")有什么区别? 字符串常 ...
- java string.substring 参数,Java,String类中的subString()方法,stringsubstring
Java,String类中的subString()方法,stringsubstring public class TestStringSubString { // main函数 public stat ...
- Java String类的相关操作
Java String类的相关操作 一.如何遍历字符串 //法一 String str="hello world"; for(int i=0;i<str.length();i ...
- Java String类的split方法简介
Java String类的split方法简介 String的split()方法用于按传入的字符或字符串对String进行拆分,返回拆分之后的数组. 1.一般用法 用一般的字符,例如 @ 或 , 等符号 ...
- Java String类概述
Java String类 String类简介 字符串比较 String对象(常量)池 静态常量池 运行时常量池 String类简介 字符串严格意义上来讲并不能算是一个基本数据类型,也就是说没有任何一门 ...
- 黑马程序员——Java String类 and 正则表达式(第七篇)
-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 虽然老毕视频中把正则表达式放到了最后面才讲,但个人认为他和String功能上有些 ...
- java String类的概述和使用
文章目录 javaString类的概述和使用 String类的概念(重点) 常量池的概念(原理) 常用的构造方法(练熟.记住) 常用的成员方法(练熟.记住) 正则表达式的概念(了解) 正则表达式的规则 ...
- Java String类Api文档
String类APi文档 常用方法概述 比较相关 返回值类型 方法名 描述 boolean contentEquals() 将此字符串与指定的 StringBuffer 比较. boolean end ...
最新文章
- 台湾MCI报告:Security SaaS风潮渐起
- echart的关系图高亮_echarts鼠标覆盖高亮显示节点及关系名称详解
- 云计算大会有感—MapReduce和UDF
- 【城市沙龙】LiveVideoStack Meet|南京:互联网沙漠的音视频发展
- 原来华为是一家做音乐的公司
- kubernetes ConfigMap和Secret:配置应用程序
- clean,compile,build,install,package区别
- (原创)c#学习笔记03--变量和表达式03--变量01--简单类型
- ES6学习摘要(03)(新人学习)
- 删数问题 详解(C++)
- pythonfor循环是迭代器吗_Python学习——for循环,生成器,迭代器详解
- matlab 取整数命令,matlab取整函数命令代码
- IDEA快速启动ssm项目
- flash发布html快捷键,flash快捷键大全
- 书单(三)-从小到大课外阅读书籍顺序
- Layui数据表格添加时间控件
- 页面浏览量和点击量_如何计算页面浏览量
- 幻影影音 - 免费的多媒体视频播放器
- 人脸识别调研报告2021
- 参加科学教师与计算机培训总结报告,信息技术校本培训总结