標籤:str oid gets 要求 Stub shu 輸出 length ted
題目要求寫出可以自動產生驗證碼的程式,由於之前寫了個隨機產生計算題的程式,因此這個程式,我打算使用隨機數解決。
驗證碼即是一個字串,且驗證碼這個字串的每個字元從大小寫字母和數字裡面取得。因此,我建立了一個字元數組,裡麵包含了全部的大小寫字母和數字。並通過以隨機數作為下標,獲得此字元數組裡面的字元,串連到字串上,以此得到想要的隨機字串。
此程式可以指定得到驗證碼的位元和個數。
程式碼:
package 驗證碼;
import java.util.Date;
import java.util.Scanner;
import java.util.Random;
public class yanzhengma {
public static String getstring(int n){
String str="";
int a;
char ch;
char [] c= {‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘, ‘G‘, ‘H‘, ‘I‘, ‘J‘, ‘K‘,‘L‘, ‘M‘, ‘N‘, ‘O‘, ‘P‘, ‘Q‘, ‘R‘, ‘S‘, ‘T‘, ‘U‘, ‘V‘, ‘W‘, ‘X‘, ‘Y‘, ‘Z‘, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘h‘, ‘i‘, ‘j‘, ‘k‘, ‘l‘, ‘m‘, ‘n‘,‘o‘, ‘p‘, ‘q‘, ‘r‘, ‘s‘, ‘t‘, ‘u‘, ‘v‘, ‘w‘, ‘x‘, ‘y‘, ‘z‘};
Random r=new Random();
for(int i=0;i<n;i++) {
a=r.nextInt(c.length-1)+1;
ch=c[a];
str=str+ch;
}
return str;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
int weishu;
int geshu=0;
System.out.println("請輸入想要得到的驗證碼的位元:");
weishu=scan.nextInt();
System.out.println("請輸入想要得到的驗證碼的個數:");
geshu=scan.nextInt();
for(int i=0;i<geshu;i++) {
System.out.println(getstring(weishu));
}
}
}
隨機輸出驗證碼