手记

Java入门第三季 6-5节 课堂练习 代码

在判断testList中是否存在某字符串时,我的写法是否存在问题。运行的结果没有发现问题和报错,还望前辈和同学们指导。

import java.util.*;

public class SortTest
{
private List<String> testList; //定义String泛型的List类
private Random rd = new Random(); //定义随机类rd

public static void main(String[] args) 
{
    SortTest st = new SortTest();   //创建SortTest类,用于调用各方法
    st.addList();

}

public SortTest()   //SortTest类的构造方法
{
    testList = new ArrayList<String>(); //将testList实例化
}

public void addList()
{
    int at,num;
    StringBuilder s = new StringBuilder();  //用于存放字符串
    String c = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    /**
     * 用类似查表法的方式随机生成10个字符串
     */
    for(int x=0;x<10;x++)
    {
        do{
            s = new StringBuilder();    //创建新的StringBuilder类对象,存放新的字符串
            num = rd.nextInt(10)+1;     //随机生成的数[0,10),+1防止字符串的长度为0,
                                        //最大取到10
            for(int i=0;i<num;i++)
            {
                at = rd.nextInt(c.length()-1);
                s.append(c.charAt(at)); //在字符串c中取得at位上的字符,追加到s后
            }
            s.toString();   //将s转化为String
        }while(testList.contains(s));   //testList中如果存在与s相同的字符串,则重新生成
        testList.add(s.toString()); //将s添加到testList中
    }
    System.out.println("--------排序前--------");
    for (String string : testList) //foreach打印
    {
        System.out.println("字符串:"+string);
    }
    Collections.sort(testList);
    System.out.println("--------排序后--------");
    for (String string : testList) 
    {
        System.out.println("字符串:"+string);
    }
}

}

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