Javaでランダムな文字を生成する方法

Javaにはランダムな文字生成は存在しませんが、これを行う方法はいくつかあります。これは java.util.Random.nextInt() を使用して乱数、整数を ASCII コードに従って文字に変換します.

a-z

最初の小文字の英字のASCIIコードは65(a)で、最後は97 + 26 = 122(z)です。生成される数値は [97, 122] または [0,26] + 97.

Random rand = new Random();
char c = (char)(rand.nextInt(26) + 97);
System.out.println(c);
ASCIIコード97を'a'に置き換えることができます:
(char)(rand.nextInt(26) + 'a');

文字列を生成

n 文字の場合、上記のコードは for.
Random rand = new Random();
String str="";
for(int i = 0 ; i < 20 ; i++){
char c = (char)(rand.nextInt(26) + 97);
str += c;
System.out.print(c+" ");
}
f s e u k t m d a e b i m u y a y u s n 

集合から英数字を生成する

この例では、 定義された文字のセットから英数字を生成します。やってみましょう:
  • 必要なセットで文字列を作成します
  • 文字列の長さを取得
  • Call rand.nextInt は位置 k 0 から length-1 まで
  • alphabet.charAt(k) はアルファベットのランダム性です
Random rand = new Random();
文字列アルファベット="abcd1235";
int length = alphabet.lentgh();
for(int i = 0; i < 30; i++) {
int k = rand.nextInt(length);
System.out.print(alphabet.charAt(k)+" ");
}
b 1 3 1 d b b b b 2 5 5 5 b a c 5 1 2 b 5 2 c b a 3 3 5 3 3 d b c 1 
Advertisement

AdBlock Detected

Please disable your ad blocker and refresh the window to use this website.