手记

java入门第三季6-5答案

package com.imooc.collection;

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

public class CollectionsTest {
    public void testSort3(){
    List<String> stringList=new ArrayList<String>();
//两个随机数,一个是为了确定字符串长度,另一个是为了产生随机字符串
    Random random=new Random();
    Random RAN=new Random();

    int number=0;
    StringBuffer sb=new StringBuffer();//可变字符串
    String str="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
    String k=new String();//存放每次遍历出的字符串
    //循环产生10个字符串
    for (int i=0;i<10;i++){
        sb.setLength(0);
        do{
            number=RAN.nextInt(10);//字符串长度
            //生成一个随机数组(每次取一个字符添加)
                for(int j=0;j<=number;j++){
                    int num=random.nextInt(62);//随机从62个字符中取出一个位置
                    sb.append(str.charAt(num));//随机从62个字符中取出一个逐个黏贴
                }
        k=sb.toString();//把字符串付给k
        }
        //防止字符串相同
        while(stringList.contains(k));

        stringList.add(k);
        System.out.println("成功添加数组:"+k);

    }
        System.out.println("-------排序前------");
            for(String string:stringList){
        System.out.println("元素"+string);
            }
        Collections.sort(stringList);
        System.out.println("-----排序后-----");
        for(String string:stringList){
                System.out.println("元素"+string);
        }
        }
    //主方法   
    public static void main(String[] args) {

        CollectionsTest ct=new CollectionsTest();

        ct.testSort3();
        }

        }
2人推荐
随时随地看视频
慕课网APP

热门评论

我写的思路和你的差不多,但是你的这个有一个问题。

在设置字符串长度的时候,我觉得不应该使用“number=RAN.nextInt(10)”因为此时若产生的随机数可能为0,就不能称之为字符串了。改成“number=RAN.nextInt(9)+1”就可以解决这个问题。

本人一点拙见

查看全部评论