要求如圖,我用字符串可以做,用StringBuilder做就不對(duì),生成字符串不夠十條,請(qǐng)教下哪里錯(cuò)了。
import?java.util.ArrayList;
import?java.util.List;
import?java.util.Random;
public?class?Exercise?{
void?testSort3()?{
List<String>stringList?=?new?ArrayList<String>();
for(int?i?=?0;i?<?10;i++)?{
Random?random?=?new?Random();
int?c?=?random.nextInt(10);
String?str?=?"";
String?z;
for(int?j?=?0?;j?<?c;?j++)?{
do{
char?w?=?(char)?(random.nextInt(26)?+?65?);//(Math.random()?*?27?+?65)
z?=?String.valueOf(w);
str?+=?z;
}while(stringList.contains(str));
}
System.out.print(str?+?"??");
}
System.out.println();
}
void?testSort4()?{
List<String>stringList?=?new?ArrayList<String>();
for(int?i?=?0;i?<?10;i++)?{
Random?random?=?new?Random();
int?c?=?random.nextInt(10);
StringBuilder?sb?=?new?StringBuilder("");?//無參的構(gòu)造方法也試過,還是不對(duì)
String?str?=?"";
String?z;
for(int?j?=?0?;j?<?c;?j++)?{
do{
char?w?=?(char)?(random.nextInt(26)?+?65?);//(Math.random()?*?27?+?65)
z?=?String.valueOf(w);
sb.append(z);
str?=?sb.toString();
}while(stringList.contains(str));
}
System.out.print(str?+?"??");
}
}
public?static?void?main(String?[]?args)?{
CollectionTest?ct?=?new?CollectionTest();
ct.testSort3();
ct.testSort4();
}
}
3 回答

什么鬼_呀你
TA貢獻(xiàn)46條經(jīng)驗(yàn) 獲得超35個(gè)贊
用string可以,但是stringbuilder不可以是因?yàn)槟愕姆盒?lt;String>,改成<Stringbulider>
添加回答
舉報(bào)
0/150
提交
取消