继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

随机生成10个长度为10以内的字符串并排序(Java入门第三季集合下作业)

xiaoxin3839519
关注TA
已关注
手记 23
粉丝 9
获赞 227

作业要求:
图片描述

实现代码:

package JiHe;
import java.util.List;
import java.util.Collections;
import java.util.ArrayList;
import java.util.Random;

public class CollectionSort {
    Random rd=new Random();
    List<String> costs=new ArrayList<String>();
    StringBuilder sb=new StringBuilder();
    public void test(){
        String a="0123456789ABCDEFGHIJKLMOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        for(int j=0;j<10;j++){
            //清空StringBuilderl类的对象sb
            sb.delete(0, 10);
            //随机生成一个长度为10以内的数组(包括10)
            int d=rd.nextInt(11);
            for(int i=0;i<d;i++){
            //随机获取字符串a中的某个字符的位置 
                int b=rd.nextInt(61);
            //将获取到的字符添加到StringBuilder类对象中
                sb.append(a.charAt(b));
            }
            //如果集合中已存在该字符串或者字符串为空,重新执行该次循环
            if(costs.contains(sb.toString())||d==0){
                j--;
            }else{
            //将StringBuilder对象转化成String类型并添加到List集合中
                costs.add(sb.toString());   
            }       
        }

        //用Collections.sort()方法对List排序
        Collections.sort(costs);

        //foreach遍历输出集合中的元素
        for(String cost:costs){
            System.out.println(cost);
        }
    }
    //入口函数
    public static void main(String[] args) {
        CollectionSort cts=new CollectionSort();
        cts.test();

    }

}

运行结果:
图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP