我的作業(6-5)
package com.collections.sort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
?* 練習: 利用Collections.sort()方法對泛型為String的List進行排序 版本2
?*?
?* 1.創建完List<String>之后,往其中添加十條隨機字符串
?*?
?* 2.每條字符串的長度為10以內的隨機整數
?*?
?* 3.每條字符串的每個字符都為隨機生成的字符,字符可以重復
?*?
?* 4.每條隨機字符串不可重復
?*?
?*
?*/
public class CollectionsTest {
/**
* 創建List
*?
* @param args
*/
// List是接口可以聲明對象,但要通過實現類來實例化。
public List<String> string;
/**
* 在構造方法中初始化string屬性
*?
* @param args
*/
public CollectionsTest() {
this.string = new ArrayList<String>();
}
public void testStringSort() {
// 添加十條隨機字符串
Random random = new Random();
String s;// 隨機字符串
for (int i = 0; i < 10; i++) {// 添加十條隨機字符串
do {
int s_length = random.nextInt(10);// 每條字符串的長度為10以內的隨機整數
s = randomString(s_length);
} while (string.contains(s) && s != null);// 每條隨機字符串不可重復
string.add(s);
System.out.println("成功添加字符串:" + s);
}
// 輸出字符串
System.out.println("輸出字符串隨機數");
System.out.println("----------排序前----------");
for (String string2 : string) {
System.out.println("隨機字符串:" + string2);
}
System.out.println("字符串進行排序");
System.out.println("----------排序后----------");
Collections.sort(string);
for (String string2 : string) {
System.out.println("隨機字符串:" + string2);
}
}
public String randomString(int s_length) {
// 產生隨即字符串
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s_length; i++) {
int number = random.nextInt(3);
long result = 0;
switch (number) {
case 0 :
result = Math.round(Math.random() * 25 + 65);//A-Z? A:65
sb.append(String.valueOf((char) result));
break;
case 1 :
result = Math.round(Math.random() * 25 + 97);// a-z? a:97
sb.append(String.valueOf((char) result));
break;
case 2 :
sb.append(String.valueOf(new Random().nextInt(10)));//整數0-9
break;
}
}
return sb.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
CollectionsTest ct = new CollectionsTest();
ct.testStringSort();
}
}
2020-03-03
我比較喜歡的一個答案?
2019-05-04
(string.contains(s) && s != null);// 每條隨機字符串不可重復 ? ?大哥這個是啥?去查查API