為什么我的程序有時(shí)候能運(yùn)行出來(lái)有時(shí)候就死循環(huán)了!我是新手。。
public class CollectionTest {
public void testString() {
String str = "QWERTYUIOPASDFGHJKLZXCVBNMqwerty" +
"uiopasdfghjklzxcvbnm1234567890";
List<String> stringList = new ArrayList<String>();
Random random = new Random();
Integer k;
String m;
for (int i = 0; i < 10; i++) {
String s = "";
do {
k = random.nextInt(10);
for (int j = 0; j < k; j++) {
//生成字符串str長(zhǎng)度范圍的隨機(jī)數(shù)
int r = random.nextInt(str.length());
//取一個(gè)字符
m = str.substring(r, r + 1);
//這種寫(xiě)法不知道規(guī)不規(guī)范。。
s = s + m;
}
}?
//有時(shí)候會(huì)生成空字符串所以我加了個(gè)條件
while (stringList.contains(s) || stringList.contains(""));
stringList.add(s);
}
System.out.println("---------排序前---------");
for (String string : stringList) {
System.out.println("生成的字符串為:" + string);
}
Collections.sort(stringList);
System.out.println("---------排序后---------");
for (String string : stringList) {
System.out.println("生成的字符串為:" + string);
}
}
public static void main(String[] args) {
CollectionTest ct = new CollectionTest();
ct.testString();
}
}
2016-11-06
這個(gè)你參考一下吧
2016-12-03
你這個(gè)要是要隨機(jī)加入了空字符串,do-while就會(huì)陷入死循環(huán)