为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

/**
 * 1. 创建List<String>之后,添加十条随机字符串
 * 2. 每条字符串的长度为10以内的随机整数
 * 3. 每个字符串的每个字符都随机生成
 * 4. 字符可以重复,字符串不可重复
 * @author Van0512
 *
 */
public class SortRandomString {
    private List<String> stringList;
    private Random random;
    private String data = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

    /*
     * 构造器中初始化list和random
     */
    public SortRandomString() {
        this.stringList = new ArrayList<>();
        this.random = new Random();
    }

    /*
     * 返回一个字符数量在10以内的随机字符
     */
    public String generateRandomString() {
        StringBuilder sb = new StringBuilder();
        //字符串长度1-10
        int len = random.nextInt(10) + 1;
        for(int i = 0; i < len; ++i) {
            //随机选取字符的位置
            int loc = random.nextInt(data.length());
            sb.append(data.charAt(loc));
        }

        return sb.toString();
    }

    /*
     * 往List中添加字符串
     */
    public void addString2List(int n) {
        for(int i = 0; i < n; ) {
            String str = this.generateRandomString();
            if(this.stringList.contains(str))
                continue;
            this.stringList.add(str);
            ++i;
        }
    }

    /*
     * 遍历
     */
    public void traversal() {
        for (String string : stringList) {
            System.out.println(string);
        }
    }

    public static void main(String[] args) {
        SortRandomString srs = new SortRandomString();
        srs.addString2List(10);
        System.out.println("排序前");
        srs.traversal();

        Collections.sort(srs.stringList);
        System.out.println("排序后");
        srs.traversal();
    }
}
点击查看更多内容
4人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
22
获赞与收藏
199

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消