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

java第三季<6-5>:生成随机字符串列表并排序之实现

标签:
Java

这个小练习难度在于生成符合要求的随机字符串。

package learn.java1;
    import java.util.*;
public class SortListString {
    //1. 创建一个字符串列表
    private static List<String> myList=new ArrayList<String>();

    public static void main(String[] args){
        SortListString sls=new SortListString();
        String randomString;
        //2. 往列表里添加10个不重复的随机字符串,调用getRandomString()方法获得随机字符串
        for(int i=0;i<10;i++){          
            do{
                randomString=sls.getRandomString();
            }while(myList.contains(randomString));
            myList.add(randomString);
            System.out.println("添加了新字符串"+ randomString);
        }
        //3. 打印排序前的字符串列表
        System.out.println("----------排序前--------------");
        for(String each:myList){
            System.out.println(each);
        }
        //4. 对字符串列表进行排序,打印排序后的字符串列表
        Collections.sort(myList);
        System.out.println("------------排序后--------------------");
        for(String each:myList){
            System.out.println(each);
        }
    }
    //获得随机10以内随机长度字符串的方法
    public String getRandomString(){
        //创建一个包含需要字符的字符串,为什么没有一个生成随机字符的方法呢?
        String bases="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random=new Random();
        //这里很有意思,写成nextInt(10)的时候,每次都会生成0,不知道它们怎么算的,下面这样就不会 生成0了
        int length=random.nextInt(9)+1;
        //StringBuffer类似于一个可变字符串,有很多方法可用
        StringBuffer randomString=new StringBuffer();
        for(int i=0;i<length;i++){
            randomString.append(bases.charAt(random.nextInt(62)));              
        }
        return randomString.toString();
    }
}

这里面random的用法非常有意思,有时间会去研究一下。。。

点击查看更多内容
7人点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消