已知字符的范圍是 \u0000 至 \uFFFF,要求根據(jù)用戶給定的長度,生成一串該長度的隨機字符串。另外在這個范圍內(nèi)有很多的亂碼,最好加以限制。
這里面有個很有意思的地方是因為要保證輸入的長度,而不是循環(huán)次數(shù),可以在循環(huán)里使用 i-- 來廢棄本次循環(huán)。
import java.util.Scanner;
public class lianxi2 {
public static void main(String[] args) {
System.out.println("請輸入字符串的長度:");
int len = new Scanner(System.in).nextInt();
String result = "";
for (int i=0; i<len; i++) {
char c = (char)(Math.random()*(0xffff+1));
if ((c>='0' && c<='9')||(c>='a' && c<='z')||(c>='A' && c<='Z')) {
result += c;
} else {
i--;
}
}
System.out.println(result);
}
}
當(dāng)然這是一個不明確知道循環(huán)次數(shù)的問題,使用 while 會更簡單。