手记

java第三季老师布置的作业:随机字符串;

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

public class TestRandomString {
    //定义List 属性;
    List<String> list;

    //构造方法.初始化 list 和定义循环添加10个不相同的字符串;
    public TestRandomString(){
        this.list = new ArrayList<String>();
        String k;
        for(int i=0;i<10;i++){
            do{
                k=testString();
            }while(list.contains(k));
            System.out.println("添加第"+(i+1)+"个字符串: "+k);
            list.add(k);
        }
        System.out.println("*********************排序前*********************");
        testForeach(list);
        System.out.println("*********************排序后*********************");
        testSort(list);
    }

    //随机生成长度为10以内的随机字符串;并返回字符串;
    public String testString(){
        StringBuilder sb = new StringBuilder();
        String str ="01234ABCmopqDEFGnKNO579PQRSTUVW6XYZabcdHIJefghijklrstLMwx8yz";
        Random rd = new Random();
        int j = rd.nextInt(10)+1;
        for(int i=0; i<j;i++){
            sb.append(str.charAt(rd.nextInt(str.length())));
        }
        //System.out.println(sb.toString());
        return sb.toString();
    }

    //遍历 list的方法;
    public void testForeach(List<String> list){
        if(!list.isEmpty()){
            for (String str : list) {
                System.out.println("排序前第"+(list.indexOf(str)+1)+"个字符串: "+str);
            }
        }
    }
    //给list排序后,并打印输出;
    public void testSort(List<String> list){
        if(!list.isEmpty()){
            Collections.sort(list);
            for (String str : list) {
                System.out.println("排序后第"+(list.indexOf(str)+1)+"个字符串: "+str);
            }
        }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //主函数就实例化一个对象;
        TestRandomString trds = new TestRandomString();
        System.out.println("排序的结果是按:数字0-9到字母A-Z到a-z的顺序来排序.");
    }

}
运行结果为:
添加第1个字符串: nGUpnxo
添加第2个字符串: 5Cb
添加第3个字符串: dxgjV9X
添加第4个字符串: U
添加第5个字符串: 9wYq
添加第6个字符串: 6XNlH
添加第7个字符串: FJVCgDIT3q
添加第8个字符串: Zfit8BBI
添加第9个字符串: BhnlBPbg
添加第10个字符串: x1OiUJF0HK
*********************排序前*********************
排序前第1个字符串: nGUpnxo
排序前第2个字符串: 5Cb
排序前第3个字符串: dxgjV9X
排序前第4个字符串: U
排序前第5个字符串: 9wYq
排序前第6个字符串: 6XNlH
排序前第7个字符串: FJVCgDIT3q
排序前第8个字符串: Zfit8BBI
排序前第9个字符串: BhnlBPbg
排序前第10个字符串: x1OiUJF0HK
*********************排序后*********************
排序后第1个字符串: 5Cb
排序后第2个字符串: 6XNlH
排序后第3个字符串: 9wYq
排序后第4个字符串: BhnlBPbg
排序后第5个字符串: FJVCgDIT3q
排序后第6个字符串: U
排序后第7个字符串: Zfit8BBI
排序后第8个字符串: dxgjV9X
排序后第9个字符串: nGUpnxo
排序后第10个字符串: x1OiUJF0HK
排序的结果是按:数字0-9到字母A-Z到a-z的顺序来排序.

运行结果为:
添加第1个字符串: nGUpnxo
添加第2个字符串: 5Cb
添加第3个字符串: dxgjV9X
添加第4个字符串: U
添加第5个字符串: 9wYq
添加第6个字符串: 6XNlH
添加第7个字符串: FJVCgDIT3q
添加第8个字符串: Zfit8BBI
添加第9个字符串: BhnlBPbg
添加第10个字符串: x1OiUJF0HK
排序前
排序前第1个字符串: nGUpnxo
排序前第2个字符串: 5Cb
排序前第3个字符串: dxgjV9X
排序前第4个字符串: U
排序前第5个字符串: 9wYq
排序前第6个字符串: 6XNlH
排序前第7个字符串: FJVCgDIT3q
排序前第8个字符串: Zfit8BBI
排序前第9个字符串: BhnlBPbg
排序前第10个字符串: x1OiUJF0HK
排序后
排序后第1个字符串: 5Cb
排序后第2个字符串: 6XNlH
排序后第3个字符串: 9wYq
排序后第4个字符串: BhnlBPbg
排序后第5个字符串: FJVCgDIT3q
排序后第6个字符串: U
排序后第7个字符串: Zfit8BBI
排序后第8个字符串: dxgjV9X
排序后第9个字符串: nGUpnxo
排序后第10个字符串: x1OiUJF0HK
排序的结果是按:数字0-9到字母A-Z到a-z的顺序来排序.

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

热门评论

人比人气死人,我咋想不出来。就一句话,虽然比不上你,我也不能放弃。

棒棒棒

代码条理很清晰,易懂,感谢

人比人气死人,我咋想不出来。就一句话,虽然比不上你,我也不能放弃。

查看全部评论