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

贴一下自己代码,看有木有要改进的地方

package com.imooc;

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

public class CollectionsTest {
    
    public void testRandomStringSort(){
        String az09 = "0123456789QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";
        List<String> stringList = new ArrayList<String>();
        Random rd= new Random();
        for(int i=0;i<10;i++){
            int strLength = rd.nextInt(9)+1;
            String strRandom = "";
            do{
                strRandom = "";
                for(int j=0;j<strLength;j++){
                    int num = rd.nextInt(az09.length());
                    strRandom += az09.charAt(num);
                }    
            }while(stringList.contains(strRandom));
            stringList.add(strRandom);
            System.out.println("成功添加:"+strRandom);
        }
        System.out.println("——————排序前————————");
        Collections.sort(stringList);
        for(String str:stringList){
            System.out.println("元素:"+str);
        }
        
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        CollectionsTest clt = new CollectionsTest();
        
        clt.testRandomStringSort();
    }

}

正在回答

3 回答

    public static String randomString(int length){
        StringBuilder sb = new StringBuilder(length);
        for(int i=0;i<length;i++){
            sb.append((char)(ThreadLocalRandom.current().nextInt(33,128)));
        }
        return sb.toString();
    }
    
    public void testSort2(){
        List<String> stringList = new ArrayList<String>();
        Random random = new Random();
        System.out.println("----preSort-----");
        String k;
        for(int i=0;i<10;i++){
            do{
                k=randomString(random.nextInt(11));
                System.out.println("Element:"+k);
            }while(stringList.contains(k));
        }
        Collections.sort(stringList);
        System.out.println("----postSort-----");
        for(String string: stringList){
            System.out.println("Element:"+string);
        }
    }


0 回复 有任何疑惑可以回复我~
                Random number = new Random();
		int length;
		do{
		length =number.nextInt(11);//规定1-10 的长度,返回一个1-10的其中一个数
		}while(length ==0);
		
		//可以考虑改进的地方
		//可以就是把字符都塞进去一个List中,就不用自己这么麻烦


1 回复 有任何疑惑可以回复我~

 int strLength = rd.nextInt(9)+1;这个就相等于 int strLength = rd.nextInt(10); 随机数包括0但不包括10,其他的和我的差不多

(。・`ω´・)


0 回复 有任何疑惑可以回复我~
#1

zzl7 提问者

嗯,是哈
2016-01-31 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

贴一下自己代码,看有木有要改进的地方

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号