按照老师String的List进行排序课后作业帮看看

来源:6-5 应用 Collections.sort() 实现 List 排序

慕粉小蜗牛

2016-06-23 10:48

public void lianXiTest(){ String str="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"; Random ran=new Random(); //循环十次,每次得到一个字符串,共得到十个字符串,整体最外边循环 for(int i=0;i<10;i++){ //第三季2-6的StringBuilder类的常用方法,用来储存字符串,减少临时变量 StringBuilder hobby=new StringBuilder(); //do-while循环,意思是序列中包含所添加的元素就再次循环(while中判断保证每次传入不重复) do{ //自动生成10以内正整数0123456789,课程要求10以内随机整数 int size=ran.nextInt(10); //循环到这里每次都会输出一个字符串,这个字符串而且有可能是空,长度最长为9 for(int a=0;a0){ //随机产生与str长度对应的数字 int num=ran.nextInt(62); //根据随机产生数字所产生的char类型指定位置字符 char p=str.charAt(num); //将字符添加到StringBuilder队尾 hobby.append(p); } else{ //创建新对象,为空,弄了好久才想到这样,并赋值给hobby, //这个if-else要放到for内,要不执行到空不会加一,可能执行11次 StringBuilder hobby1=new StringBuilder(""); hobby=hobby1; continue;} } } //当拥有再次执行上边,拥有时a并不会加1 while(lianTest.contains(hobby.toString())); //把元素添加到序列中 lianTest.add(hobby.toString()); } System.out.println("-------------排序前--------------"); //通过foreach遍历输出 for(String string:lianTest){ System.out.println("元素:"+string);} System.out.println("-------------排序后--------------"); //排序 Collections.sort(lianTest); //再次通过foreach遍历输出排序后的 for(String string:lianTest){ System.out.println("元素:"+string); } }
详细地址链接:http://www.imooc.com/article/9583

写回答 关注

1回答

  • 慕粉3170877
    2016-06-24 10:32:03

      if(size>0){        //随机产生与str长度对应的数字        int num=ran.nextInt(62);        //根据随机产生数字所产生的char类型指定位置字符        char p=str.charAt(num);        //将字符添加到StringBuilder队尾       hobby.append(p);       }        else{            //创建新对象,为空,弄了好久才想到这样,并赋值给hobby,            //这个if-else要放到for内,要不执行到空不会加一,可能执行11次            StringBuilder hobby1=new StringBuilder("");             hobby=hobby1;            continue;} }
    我运行了程序之后,发现没必要判断size是否为零,好像多余!!!

     

    慕粉小蜗牛

    不多于,因为规定10以内,0123456789,出现了0的情况,只能为空一次,你可以多试试,你可以把int size=ran.nextInt(10)里边10,变得小一点,这样你试试几次,比如5

    2016-06-24 11:02:26

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409764 学习 · 4543 问题

查看课程

相似问题