手记

Java入门第三季 6-5 《随机字符串排序》

package com.imooc.third.collection4_2;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
 * 6-5章节,生成字符串随机数并排序 
 */
public class CollectionSortPractice6_5 {
public void testSortPractice1(){
List<String>stringList = new ArrayList<String>();
//定义一个str存放大小写字母和数字字符串
String str = "zxcvbnmlkjhgfdsaqwertyuiopQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
//插入10个字符串,且长度是10位的不重复字符串
Random random = new Random();
//外循环10次,每次获得一组字符串,共获得10次字符串
for (int i=0;i<10;i++){
//实例化stringBuilder类,用于存储字符串,java第三季2-6章节有讲此类的常用方法
StringBuilder stringBuilder = new StringBuilder();
//do-while循环判断获取的字符串是否重复
do{
//内循环10次,随机获取长度为10的字符串	
for(int j=0;j<10;j++){
//随机生成10以内的随机整数
int k = random.nextInt(62);
/**
* 下面语句括号里面的参数是:
* 根据随机数字所产生的char类型指定位置字符追加到当前stringBuilder对象的末尾
* append就是stringBuilder类中追加内容用的方法
* (参考java第三季2-3章节String的常用方法介绍charAt)
* (参考java第三季2-6章节stringBuilder的常用方法介绍append)
*/
stringBuilder.append(str.charAt(k));
}
//获取对象的字符串值,contains方法判断此字符串是否存在,存在将循环重新生成字符串
}while(stringList.contains(stringBuilder.toString()));
//把字符串添加到stringList
stringList.add(stringBuilder.toString());
System.out.println("成功添加字符串:" +stringBuilder.toString());
}
System.out.println("-------------排序前----------");
//for each语句遍历排序前的元素
for(String st : stringList){
System.out.println("测试元素:"+st);
}
//Collections的sort方法把stringList中的元素排序
Collections.sort(stringList);
System.out.println("-------------排序后----------");
//for each语句遍历排序后的元素
for(String st : stringList){
System.out.println("测试元素:" + st);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
CollectionSortPractice6_5 csp = new CollectionSortPractice6_5();
csp.testSortPractice1();
}
}
 	

哎,三季终于快结束啦!! 软件测试一枚,学java中,希望讨论学习

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

热门评论

程序还有点问题,运行结果中每条字符串长度固定为10个字符。

而题目要求第二条写的是:每条字符串的长度为10以内的随机整数。

for(int i = 0;i<62;i++){

System.out.print("You did a good job!");

}

查看全部评论