作業作業!
package test;
import java.util.*;
public class TestSort {
// 隨機生成長度小于輸入值的字符串
public String getRandomString(int length) {
// 生成一個隨機數
Random random = new Random();
StringBuffer str = new StringBuffer();
// 循環length次
for (int i = 0; i < length; i++) {
int number = random.nextInt(4);
long result = 0;
// 隨機選擇空值、數字或大小寫字母
switch (number) {
case 0:
result = Math.round(Math.random() * 25 + 65);
str.append(String.valueOf((char) result));
break;
case 1:
result = Math.round(Math.random() * 25 + 97);
str.append(String.valueOf((char) result));
break;
case 2:
str.append(String.valueOf(new Random().nextInt(10)));
break;
case 3:// 空值
break;
}
}
return str.toString();
}
public void stringTest() {
List<String> stringList = new ArrayList<String>();
TestSort t = new TestSort();
// 隨機生成10個字符串
for (int i = 0; i < 10; i++) {
String str = t.getRandomString(10);
stringList.add(str);
System.out.println("新增字符串:" + str);
}
System.out.println("-------------------排序前-------------------");
for (int i = 0; i < 10; i++) {
System.out.println(stringList.get(i));
}
Collections.sort(stringList);
System.out.println("-----------------排序后----------------");
for (int i = 0; i < 10; i++) {
System.out.println(stringList.get(i));
}
}
public static void main(String[] args) {
TestSort test = new TestSort();
test.stringTest();
}
2021-03-30
package?com.imooc.collection; import?java.util.ArrayList; import?java.util.Collections; import?java.util.List; import?java.util.Random; /** ?*?2021-3-29 ?*?1.創建List<String>之后,往其中添加十個隨機字符 ?*?2.每個隨機字符串得長度為10以內得整數 ?*?3.每條字符串得每個字符都為隨機生成得字符,字符可以重復 ?*?4.每條隨機字符串不可重復 ?*/ //原來需要在main方法里面??構造輸出 public?class?RandomWords?{ ????public?static?void?main(String[]?args)?{ ????????List<String>?stringList?=?new?ArrayList<String>(); ????????Random?random?=?new?Random(); ????????List<Integer>?integerList?=?new?ArrayList<Integer>(); ????????String?contaniner?=?"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; ????????Integer?k; ????????System.out.println("現在輸出隨機10個字符串的長度:"); ????????//現得到10個隨機字符串得長度?并且得到得每一個字符串得長度都不相等 ????????for?(int?i?=?0;?i?<?10;?i++)?{ ????????????do?{ ????????????????k?=?random.nextInt(10)+1; ????????????}?while?(integerList.contains(k)); ????????????integerList.add(k); ????????} ????????for?(Integer?I?:?integerList)?{ ????????????System.out.print("元素"?+(integerList.indexOf(I)+1)+"長度:"+?I+?"?"); ????????} ????????for?(int?j?=?0;?j?<?10;?j++)?{ ????????????StringBuffer?string?=?new?StringBuffer(); ????????????do?{ ????????????????for?(int?z?=?0;?z?<?integerList.get(j);?z++)?{ ????????????????????int?num?=?random.nextInt(61); ????????????????????string.append(contaniner.charAt(num)); ????????????????} ????????????}?while?(stringList.contains(string)); ????????????String?Str=string.toString(); ????????????stringList.add(Str); ????????} ????????????//輸出隨機字符串 ????????System.out.println("輸出10個隨機字符串"); ????????System.out.println("---------------------排序前---------------"); ????????????for?(String?strings?:?stringList)?{ ????????????????System.out.println("元素:"?+strings); ????????????} ????????Collections.sort(stringList); ????????System.out.println("---------------------排序后---------------"); ????????for?(String?strings?:?stringList)?{ ????????????System.out.println("元素:"?+?strings); ????????} ????} }