慕粉小蜗牛
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
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是否为零,好像多余!!!
Java入门第三季
409764 学习 · 4543 问题
相似问题