Java入门第三季 6-5 随机字符串【Van0512】

318 查看

import java.util.*;

public class RandomString {
    private List<String> strList;
    private Random random;

    public RandomString() {
        random = new Random();
        strList = new ArrayList<String>();
    }

    public String randomString(int n) {
        String base = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        StringBuilder builder = new StringBuilder();
        for(int i = 0; i < n; i++)
            builder.append(base.charAt(random.nextInt(base.length())));
        System.out.println("生成字符串:" + builder.toString());
        return builder.toString();
    }

    public void sort() {
        for(int i = 0; i < 10; i++) {
            String str;
            do {
                int j = random.nextInt(10) + 1;
                str = randomString(j);
            }while(strList.contains(str));
            strList.add(str);
        }
        System.out.println("------before sort--------");
        for(String str : strList) 
            System.out.println("element : " + str);
        Collections.sort(strList);
        System.out.println("------after sort--------");
        for(String str : strList) 
            System.out.println("element : " + str);
    }

    public static void main(String[] args) {
        RandomString rs = new RandomString();
        rs.sort();
    }
}