亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

交個作業~~main函數就不寫了,分享一下方法

/**

* 3.對String泛型的List進行排序

* 創建String泛型的Lits,添加十個亂序的String元素

* 每條字符串的長度為10以內的隨即整數

* 每條字符串的每個字符都為隨即生成的字符,字符可以重復

* 每條隨即字符串不可重復

* 調用sort方法,再次輸出排序后的順序

*/

public void testSort3() {

List<String> strtinglist = new ArrayList<String>();

Random random = new Random();

Integer k;

String str = "abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

for (int i = 0; i < 10; i++) {

StringBuffer newstring = new StringBuffer();

do {

k = random.nextInt(10);

for (int j = 0; j < k+1; j++) {

newstring.append(str.charAt(random.nextInt(str.length())));

}

}while(strtinglist.contains(newstring));

System.out.println("將要添加字符串:"+"'"+newstring.toString()+"'");

strtinglist.add(newstring.toString());

}

System.out.println("----------排序前---------");

for (String string : strtinglist) {

System.out.println("元素"+string);

}

Collections.sort(strtinglist);

System.out.println("----------排序后---------");

for (String string : strtinglist) {

System.out.println("元素"+string);

}

}


正在回答

2 回答

????public?void?testSort()?{
????????//?隨機生成十條字符串
????????for(int?i=0;?i<10;?i++)?{
????????????StringBuilder?str?=?new?StringBuilder();
????????????Random?random?=?new?Random();
????????????//?長度為10以內的隨機整數
????????????int?l?=?random.nextInt(10);
????????????for(int?j=0;?j<l;?j++)?{
????????????????char?ranChar?=?(char)?Math.round(Math.random()*51+65);
????????????????//?去掉特殊字符
????????????????if(ranChar<91?||?ranChar>96)?
????????????????????str.append(ranChar);
????????????}
????????????strings.add(str.toString());
????????}
????????System.out.println("------------排序前-------------");
????????for(String?str?:?strings)?{
????????????System.out.println(strings.indexOf(str)+1+":"+str);
????????}
????????System.out.println("------------排序后-------------");
????????Collections.sort(strings);
????????for(String?str?:?strings)?{
????????????System.out.println(strings.indexOf(str)+1+":"+str);
????????}
????}


1 回復 有任何疑惑可以回復我~

這樣好像不太行 應該每次循環的最后清空一次newstring

int nsl= newstring.length();

newstring.delete(0,nsl);


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409766    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

交個作業~~main函數就不寫了,分享一下方法

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號