1.随机验证码案例
package com.itheima.string;
import java.util.Random;
/*
练习题:使用String完成随机生成5位的验证码
*/
public class StringExec6 {
public static void main(String[] args) {
// 1。定义可能出现的字符信息
String datas = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
// 2.循环5次,每次生成一个随机的索引,提取对应的字符连接起来即可
// 定义一个变量用于存储随机索引的字符
String code = "";
Random r = new Random();
for (int i = 0; i < 5; i++) {
// 随机一个索引
int index = r.nextInt(datas.length()); // 随机索引的范围是datas以内(0-datas.length - 1)
char c = datas.charAt(index); // 利用索引,找到字符串中的特定字符
code += c;
}
// 输出字符串变量即可
System.out.println(code);
}
}
2.模拟用户登录功能
package com.itheima.string;
import java.util.Scanner;
/*
练习题:模拟用户登录
*/
public class StringExec7 {
public static void main(String[] args) {
// 1.定义正确的登录名称和密码
String okLoginName = "admin";
String okPassword = "itheima";
// 2. 定义一个循环,循环3次,让用户登录
Scanner sc = new Scanner(System.in); // 这种创建对象放循环外面,要不然每循环一次都会创建一个对象,占堆内存的空间
for (int i = 1; i <= 3; i++) {
System.out.println("请输入你的账号:");
String loginName = sc.next();
System.out.println("请输入你的密码:");
String password = sc.next();
// 判断登录是否成功 每循环一次,判断用户是否输入成功
// 可以先判断账号是否成功
if (loginName.equals(okLoginName)){
//然后在判断密码
if (password.equals(okPassword)){
System.out.println("登录成功");
}else {
System.out.println("密码输入错误,你还有" + (3-i) + "次机会" );
}
}else {
System.out.println("你的账号不正确你还有"+ (3-i) + "次机会" );
}
}
}
}
3.手机号屏蔽案例:
package com.itheima.string;
import java.util.Scanner;
/*
练习题:手机号屏蔽
*/
public class StringExec8 {
public static void main(String[] args) {
// 随机录入一个手机号:
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个手机号:");
String tel = sc.next();
// 截取手机号前3位,后四位 19970997888
String before = tel.substring(0,3); // 0 1 2
String after = tel.substring(7); // 从索引为7的数截到末尾
String s = before + "****" + after;
System.out.println(s);
}
}