zzl7
2016-01-13 01:38
package com.imooc;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class CollectionsTest {
public void testRandomStringSort(){
String az09 = "0123456789QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";
List<String> stringList = new ArrayList<String>();
Random rd= new Random();
for(int i=0;i<10;i++){
int strLength = rd.nextInt(9)+1;
String strRandom = "";
do{
strRandom = "";
for(int j=0;j<strLength;j++){
int num = rd.nextInt(az09.length());
strRandom += az09.charAt(num);
}
}while(stringList.contains(strRandom));
stringList.add(strRandom);
System.out.println("成功添加:"+strRandom);
}
System.out.println("——————排序前————————");
Collections.sort(stringList);
for(String str:stringList){
System.out.println("元素:"+str);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
CollectionsTest clt = new CollectionsTest();
clt.testRandomStringSort();
}
}
public static String randomString(int length){
StringBuilder sb = new StringBuilder(length);
for(int i=0;i<length;i++){
sb.append((char)(ThreadLocalRandom.current().nextInt(33,128)));
}
return sb.toString();
}
public void testSort2(){
List<String> stringList = new ArrayList<String>();
Random random = new Random();
System.out.println("----preSort-----");
String k;
for(int i=0;i<10;i++){
do{
k=randomString(random.nextInt(11));
System.out.println("Element:"+k);
}while(stringList.contains(k));
}
Collections.sort(stringList);
System.out.println("----postSort-----");
for(String string: stringList){
System.out.println("Element:"+string);
}
}
Random number = new Random();
int length;
do{
length =number.nextInt(11);//规定1-10 的长度,返回一个1-10的其中一个数
}while(length ==0);
//可以考虑改进的地方
//可以就是把字符都塞进去一个List中,就不用自己这么麻烦
int strLength = rd.nextInt(9)+1;这个就相等于 int strLength = rd.nextInt(10); 随机数包括0但不包括10,其他的和我的差不多
(。・`ω´・)
Java入门第三季
409776 学习 · 4546 问题
相似问题
回答 3
回答 3
回答 1
回答 2
回答 1