// 包名,用于组织代码
package shiyan8;
// 导入Random类,用于生成随机数
import java.util.Random;
// 定义一个名为StringUtils8_3_1的类
public class StringUtils8_3_1 {
// 定义一个静态方法,用于生成指定长度的随机字符串
public static String generateRandomString(int length) {
// 定义一个字符串,包含所有大写和小写英文字母
String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
// 创建一个Random对象,用于生成随机数
Random random = new Random();
// 使用StringBuilder来构建字符串,初始化容量为length,提高效率
StringBuilder sb = new StringBuilder(length);
// 循环length次,每次生成一个随机字符并追加到StringBuilder中
for (int i = 0; i < length; i++) {
// 生成一个随机索引(0到characters.length()-1之间)
int index = random.nextInt(characters.length());
// 使用charAt方法根据索引从characters字符串中获取字符,并追加到StringBuilder中 sb.append(characters.charAt(index));
} // 将StringBuilder对象转换为String并返回
return sb.toString(); }
// 定义一个静态方法,用于从输入字符串中移除所有非数字字符
public static String removeNonDigitCharacters(String input) {
// 使用replaceAll方法,匹配所有非数字字符([^0-9]),并将它们替换为空字符串(即删除) return input.replaceAll("[^0-9]", "");
}
// 主方法,程序的入口点
public static void main(String[] args) {
// 调用generateRandomString方法生成一个长度为5的随机字符串
String randomString = generateRandomString(5);
// 打印生成的随机字符串
System.out.println("随机字符串: " + randomString);
// 调用removeNonDigitCharacters方法处理一个包含数字和非数字字符的字符串
String numberOnlyString = removeNonDigitCharacters("Hello123, this is a Test456!");
// 打印处理后的只含数字的字符串
System.out.println("只含数字的字符串: " + numberOnlyString); }
}