指定された桁数のJavaでランダムな整数を生成する

Tony Scialo:

今日私はこの問題に遭遇し、私が考えていないエレガントな解決策があると確信しています。

指定した桁数でJavaでランダムな整数(またはlong)を生成するとします。この桁数は変更できます。

つまり、メソッドに桁数を渡し、指定された桁数の乱数を返します

例)N = 3、100〜999の乱数を生成します。N = 4、1000〜9999の乱数を生成

private long generateRandomNumber(int n){

/*Generate a random number with n number of digits*/

}

これまでの私の試み(これはうまくいきますが、それは厄介なようです)

private long generateRandomNumber(int n){

    String randomNumString = "";

    Random r = new Random();

    //Generate the first digit from 1-9
    randomNumString += (r.nextInt(9) + 1);

    //Generate the remaining digits between 0-9
    for(int x = 1; x < n; x++){
        randomNumString += r.nextInt(9);
    }

    //Parse and return
    return Long.parseLong(randomNumString);

}

これより優れた/より効率的なソリューションはありますか?

*指定された範囲の乱数を生成するためのソリューションはたくさんありますが、設定された桁数を指定して乱数を生成する最善の方法と、任意の桁数を処理するのに十分な堅牢性のあるソリューションを作成することに興味がありました。

私は最小値と最大値を渡す必要はありませんでしたが、必要な桁数だけを渡しました

発作:
private long generateRandomNumber(int n) {
    long min = (long) Math.pow(10, n - 1);
    return ThreadLocalRandom.current().nextLong(min, min * 10);
}

nextLong下限値と上限値の間の乱数を生成する(1_000, 10_000)ため、たとえばパラメーター付けて呼び出すと、結果として1000から9999の数値が返されますRandomしかし、とにかくそれを使い続ける理由は基本的にありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

指定された範囲でランダムな整数と実数を生成する

java-指定された値の範囲内でランダムな16進値を生成する方法

PHP-キーから指定された範囲内のランダムな整数を生成する

matlabで1つの整数を除く指定された範囲からランダムな整数のセットを生成する方法

BigIntegerクラスを使用してJavaでランダムなn桁の整数を生成するにはどうすればよいですか?

指定された年のランダムな日付を生成する

ランダムな整数のリストを生成する方法はありますが、指定された整数のみを使用しますか?(Python)

goの指定された範囲でランダムな128ビット10進数を生成します

Rでランダムな64桁の16進数を生成する方法は?

ランダムな整数を返すが、指定された分布/「重み」を持つJavascript関数を作成する

5桁のランダムなJavaを生成する方法

Java 8で範囲内のランダムな整数の指定されたサイズでリストを生成するにはどうすればよいですか?

k桁のn個のランダムな整数を生成する方法

Javaで4桁のランダムな長いを生成する方法は?

Pythonでランダムな6桁のIDを生成する

JAVAでランダムに生成された数の平均を見つける方法

ランダムを使用して、Javaで生成された数値をすべて異なるものにするにはどうすればよいですか?

指定された範囲からランダムなBigDecimal値を生成する

MATLABで0または1のいずれかであるランダムな整数を生成する方法

Rは、指定された範囲内のすべての数値が存在するまで、ランダムに数値を生成し続けます

指定された範囲内でランダムな一意のBigIntegerを生成しますか?

別のランダムに生成された数で均等に割り切れる乱数を生成する方法

Javaで別の整数の範囲の複数のランダムな整数を生成します

Javaでランダムな整数で満たされたテキストファイルを作成する

特定の合計でランダムな整数を生成する

シード可能な2つの指定された値の間のランダムな整数を取得します

Pythonで小数点以下20桁以上のシードされたランダムフロートを生成するにはどうすればよいですか?

Java:リストを並べ替えるランダムな数の怒り+整理する(BubbleSort)+生成された最大の数を取得する

Kotlin-指定された長さのランダムな整数のArrayListを作成しますか?

TOP 一覧

  1. 1

    PictureBoxで画像のブレンドを無効にする

  2. 2

    レスポンシブウェブサイトの一番下にスティッキーなナビゲーションバーを作成するのに問題がある

  3. 3

    Rパッケージ「AppliedPredictiveModeling」のインストール中にエラーが発生しました

  4. 4

    Chromeウェブアプリのウェブビューの高さの問題

  5. 5

    HTTPヘッダー 'SOAPAction'の値はサーバーによって認識されませんでした

  6. 6

    Pythonを使用して、リストからデータを読み取り、特定の値をElasticsearchにインデックス付けするにはどうすればよいですか?

  7. 7

    C ++でのcURLとマルチスレッドの使用

  8. 8

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  9. 9

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  10. 10

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  11. 11

    Spring @ModelAttributeモデルフィールドマッピング

  12. 12

    Python / SciPyのピーク検出アルゴリズム

  13. 13

    Ansibleで複数行のシェルスクリプトを実行する方法

  14. 14

    テキストフィールドの値に基づいて UIslider を移動します

  15. 15

    tf.nn_conv2dとtf.nn.depthwise_conv2dの違い

  16. 16

    ZScalerと証明書の問題により、Dockerを使用できません

  17. 17

    MLでのデータ前処理の背後にある直感

  18. 18

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  19. 19

    java.lang.NoClassDefFoundError:com / sun / istack / tools / DefaultAuthenticator $ Receiver

  20. 20

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  21. 21

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

ホットタグ

アーカイブ