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

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

練習題,通過ASCII碼實現,幫我看看有沒有哪里不對,是否所有的字母和數字都包含了,謝謝!

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.Random;


public class RandomString {


public void test(){

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

Random random=new Random();

//通過for循環來設置字符串

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

String z = "";

//隨機生成字符串的長度數 1~9

int cd=random.nextInt(9)+1;

do{

//隨機生成長度已定的字符串

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

int a;

do{

a=random.nextInt(75)+48;

}while(a>90 && a<97 || a>57 && a<65);

char b=(char)a;

z+=b;

}

}while(list.contains(z));

list.add(z);

}

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

for (String string : list) {

System.out.print(string+",");

}

System.out.println();

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

Collections.sort(list);

for (String string : list) {

System.out.print(string+",");

}

}

public static void main(String[] args) {

RandomString rs=new RandomString();

rs.test();

}

}


正在回答

2 回答

從運行來看,應該都包含在內了,如果你擔心是不是覆蓋了所有字母和數字,那不如先創建一個包含了所有字母和數字的字符串,新生成的隨機字符串的字符均取自這個字符串,這樣就不用擔心了。

另外,創建可變的字符串變量,感覺?StringBuffer str=new StringBuffer(); 更合適一些。

這里列出另一種方法供參考:

List?<String>?strList=?new?ArrayList<String>();
		String?base="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		Random?random=new?Random();
	????Integer?k;
	????for?(int?i=0;?i<10;i++){
	????	StringBuffer?str=new?StringBuffer();
	????	do{
	????	k=random.nextInt(10);
	????	}?while(k==0);
	????	do{
	????	for(int?j=0;j<k;j++){
	??	??????int?num=random.nextInt(base.length());
	??	??????str.append(base.charAt(num));
	??	????}
	????	}while(strList.contains(str.toString()));
	??	????strList.add(str.toString());
	????}


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

qq_之恩赫奧丶_0 提問者

謝謝!
2016-05-17 回復 有任何疑惑可以回復我~
#2

SilenceDean

第8行應改為k=random.nextInt(11); random.nextInt(10)取到的是[0,10),即k最大為9 字符串最多只能取到9位的長度
2016-07-08 回復 有任何疑惑可以回復我~

謝了,原來Java里不是128個字符都能顯示出來的...

我把所有的128個ASCII碼轉為字符,做出來亂碼...

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

舉報

0/150
提交
取消

練習題,通過ASCII碼實現,幫我看看有沒有哪里不對,是否所有的字母和數字都包含了,謝謝!

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

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

幫助反饋 APP下載

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

公眾號

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