思路:
思路:
- 需要十个随机数,那么就是一个 for 循环,循环十次了
- 需要的随机字符串是十位以内的,那么就获取一个 10 以内的随机整数
- for循环刚才获取到的 10 以内的随机整数,假如获取到的随机数为0的话,就赋值为 null
- 在这个随机整数的循环中,通过随机获取到0-9,a-z,A-Z这个字符串的任意字符,然后添加到 StringBuffer 中
- 在 do...while 中做字符串不为null 和重复的判断
- 和老师前面讲的就差不多了。
public class CollectionsTest {
/**
* 1.创建完 List<String> 之后,往其中添加十条随机字符串
* 2.每条字符串的长度为 10 以内的随机整数
* 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
* 4.每条随机字符串不可重复
*/
public void testSort3() {
String randoms = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
List<String> stringList = new ArrayList<>();
String k;
for (int i = 0; i < 10; i++) {
do {
Random random = new Random();
int nextInt = random.nextInt(10);
StringBuffer sb = new StringBuffer();
if (nextInt == 0) {
k = null;
continue;
}
for (int j = 0; j < nextInt; j++) {
sb.append(randoms.charAt(random.nextInt(randoms.length())));
}
k = sb.toString();
} while (k == null || stringList.contains(k));
stringList.add(k);
System.out.println("生成的随机数:" + k);
}
System.out.println("-------排序前----------");
for (String in : stringList) {
System.out.println(in);
}
Collections.sort(stringList);
System.out.println("-------排序后----------");
for (String in : stringList) {
System.out.println(in);
}
}
public static void main(String[] args) {
CollectionsTest ct = new CollectionsTest();
ct.testSort3();
}
}
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦