1)从控制台输入一个字符串,大于20个字符 代码如下:

import java.util.Scanner;

public class RandomCode {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个大于20个字符的字符串:");
        String str = sc.nextLine();
        while (str.length() <= 20) {
            System.out.println("字符串长度不够,请重新输入:");
            str = sc.nextLine();
        }
        sc.close();
        System.out.println("输入的字符串为:" + str);
    }
}

2)从字符串中随机获取5个字符拼接成一个验证码 代码如下:

import java.util.Scanner;
import java.util.Random;

public class RandomCode {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个大于20个字符的字符串:");
        String str = sc.nextLine();
        while (str.length() <= 20) {
            System.out.println("字符串长度不够,请重新输入:");
            str = sc.nextLine();
        }
        sc.close();
        System.out.println("输入的字符串为:" + str);
        
        // 随机获取5个字符
        Random random = new Random();
        StringBuilder code = new StringBuilder();
        while (code.length() < 5) {
            int index = random.nextInt(str.length());
            char ch = str.charAt(index);
            if (code.indexOf(String.valueOf(ch)) == -1) {
                code.append(ch);
            }
        }
        System.out.println("生成的验证码为:" + code.toString());
    }
}

扩展要求:验证码中不包含重复字符,且每行需注释说明 代码如下:

import java.util.Scanner;
import java.util.Random;

public class RandomCode {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个大于20个字符的字符串:");
        String str = sc.nextLine();
        while (str.length() <= 20) {
            System.out.println("字符串长度不够,请重新输入:");
            str = sc.nextLine();
        }
        sc.close();
        System.out.println("输入的字符串为:" + str);
        
        // 随机获取5个字符,不包含重复字符
        Random random = new Random();
        StringBuilder code = new StringBuilder();
        while (code.length() < 5) {
            // 随机获取一个位置
            int index = random.nextInt(str.length());
            // 获取该位置的字符
            char ch = str.charAt(index);
            // 判断验证码中是否已经包含该字符
            if (code.indexOf(String.valueOf(ch)) == -1) {
                // 若不包含,则将该字符添加到验证码中
                code.append(ch);
            }
        }
        System.out.println("生成的验证码为:" + code.toString());
    }
}
JAVA中生成随机验证码1	从控制台输入一个字符串大于20个字符2	从字符串中随机获取5个字符拼接成一个验证码扩展要求:验证码中不包含重复字符且每行需注释说明

原文地址: https://www.cveoy.top/t/topic/9nd 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录