package?com.interater;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.List;
import?java.util.Random;
public?class?StringSort?{
/**
?*?1?創(chuàng)建?List<String>?泛型,添加十條隨機(jī)字符串;
?*?2?每條字符的長(zhǎng)度為10以內(nèi)的隨機(jī)整數(shù);
?*?3?每條字符串的每個(gè)字符都為隨機(jī)生成的字符,字符可以重復(fù);
?*?4?每條隨機(jī)字符串不可以重復(fù)。
?*/
public?void?testStringSort(){
//創(chuàng)建泛型
List<String>?stringList?=?new?ArrayList<String>();
Random?random?=?new?Random();
//生成隨機(jī)字符串
String?k;
for?(int?i=0;i?<?10;i++){
do?{
k?=?this.getRandomString(random.nextInt(10));????//調(diào)用生成字符串的方法getRandomString(int?length)?將10以內(nèi)的隨機(jī)數(shù)作為長(zhǎng)度參數(shù)傳入
}?while?(stringList.contains(k));
stringList.add(k);
System.out.println("成功添加字符串"+k);
}
System.out.println("=============排序前================");
????for?(String??string:?stringList)?{
System.out.println("元素:??"+string);
}
????Collections.sort(stringList);????//對(duì)stringList進(jìn)行排序
????System.out.println("==============排序后================");
????for?(String?string:?stringList)?{
System.out.println("元素:??"+string);
}
}
/**
?*?
?*?@param?length??要生成的字符串的長(zhǎng)度
?*?@return??一個(gè)隨機(jī)生成的字符串
?*/
public?String?getRandomString(int?length)?{
//創(chuàng)建字串源串
????String?base?=?"abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";?
????//調(diào)用隨機(jī)類實(shí)例
????Random?random?=?new?Random();?????
????//調(diào)用Sting?實(shí)現(xiàn)類?StringBuffer?的?實(shí)例
????StringBuffer?sb?=?new?StringBuffer();
????//根據(jù)傳參?生成一個(gè)?length長(zhǎng)度的字符串
????for?(int?i?=?0;?i?<?length;?i++)?{?
???? //取得一個(gè)?源串長(zhǎng)度以內(nèi)的?隨機(jī)整數(shù)
????????int?number?=?random.nextInt(base.length());?
????????//調(diào)用StringBuffer的append()方法將?一個(gè)隨機(jī)char(利用charAt方法把隨機(jī)數(shù)number當(dāng)成索引傳入取得源串中的一個(gè)隨機(jī)char)追加到這個(gè)字符串序列之后
????????sb.append(base.charAt(number));?????
????}?????
????return?sb.toString();?????//將字符串返回到外面調(diào)用
?}
public?static?void?main(String[]?args){
StringSort?ss?=?new?StringSort();
ss.testStringSort();
}
}
2015-07-27
請(qǐng)問(wèn)?k?=?this.getRandomString(random.nextInt(10));中的this是什么意思?有什么作用?求解答??!
2015-02-17
nextInt(int?n) 返回一個(gè)偽隨機(jī)數(shù),它是取自此隨機(jī)數(shù)生成器序列的、在 0(包括)和指定值(不包括)之間均勻分布的 int 值。
所以24行應(yīng)該是,這樣應(yīng)該對(duì)吧
2015-02-17
謝謝~~