を使用してランダムに数字を生成していjava.util.Random
ます。しかし、数字の長さを固定することはできません。助けてください。
質問する
125 次
4 に答える
3
ランダムに生成された数値の長さを修正するには、通常、乱数の生成を範囲に修正します。たとえば、6 桁の乱数を生成したい場合、 から100,000
までの数値が必要になります999,999
。これは、次の式を使用して実現できます。
Random r = new Random();
int randomNum = r.nextInt((max - min) + 1) + min;
は などの最大max
数で、 は など999999
のmin
最小数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 に答える