0

を使用してランダムに数字を生成していjava.util.Randomます。しかし、数字の長さを固定することはできません。助けてください。

4

4 に答える 4

3

ランダムに生成された数値の長さを修正するには、通常、乱数の生成を範囲に修正します。たとえば、6 桁の乱数を生成したい場合、 から100,000までの数値が必要になります999,999。これは、次の式を使用して実現できます。

Random r = new Random();
int randomNum = r.nextInt((max - min) + 1) + min;

は などの最大max数で、 は など999999min最小数100000です。

編集:

あなたのコメントに基づいて、1 ~ 5 のみを含む 15 桁の数字を生成しようとしていることがわかりました。これを行う簡単な方法を次に示します。

import java.util.Random;

StringBuilder s = new StringBuilder();
Random r = new Random();

for (int i = 0; i < 15; i++) {
    s.append(r.nextInt(5) + 1);
}

System.out.println("The random number is: " + s.toString());

@MichaelT が指摘したように、15 桁の数字は整数に収まりません。操作を実行する必要がある場合は、long に格納する必要があります。

long randomLong = Long.valueOf(s.toString()).longValue();
于 2013-11-09T02:15:06.710 に答える
1

整数を生成することを考えるのではなく、それぞれが必要な範囲内にある 15 桁の文字列を生成するという観点から考えてください。

nextInt(int) を使用して各桁を選択できます。

于 2013-11-09T02:25:34.927 に答える
0

ライブラリを使用しても問題ない場合:

RandomStringUtils.random(15, "12345")

長さ15の124444211351355のような文字列が得られます

私はたまたまそれについての投稿を書きました (恥知らずな自己宣伝リンク: http://united-coders.com/nico-heid/generating-random-numbers-strings-java/ )

于 2013-11-09T09:48:02.423 に答える