2

重複の可能性:
Javaで範囲内の乱数を生成する

これはかなりばかげているように感じますが、許可する特定の範囲を指定して、ランダムな整数を作成する方法がわかりません。-1 と 1 の間の乱数を生成するようにしようとしていました。それを実行しようとしましたが、nextIntパーツでは 2 つのパラメーターを括弧内に入れることはできません。別のものを使用することになっていますか?

import java.util.Random;

public class Testttterrrr {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Random rng = new Random();
        for (int i=0;i < 10; i++)
        {
        int pepe = 0;
        pepe = rng.nextInt(1, 1-2);
        System.out.println(pepe);
        }
    }

}
4

4 に答える 4

6

あなたができる

pepe = rng.nextInt(3) - 1;

rng.nextInt(3)セット内のランダムな要素を返します。{0, 1, 2}したがって、減算すると、必要に応じ1てセット内のランダムな要素が返さ{-1, 0, 1}れます。


関連ドキュメント:

于 2012-10-24T23:24:00.473 に答える
4

次のステートメントを試してください。 int pepe = rng.nextInt(3) - 1;

于 2012-10-24T23:23:52.073 に答える
4

使用する

pepe = rng.nextInt(3) - 1;

-1、0、1 のランダムなシーケンスを返します。

rng.nextInt(3)

interval の乱数を返します[0..2]。1 を引くと、 interval が得られます[-1..1]

于 2012-10-24T23:24:08.867 に答える
3
pepe = rng.nextInt(3) - 1;

乱数は 0、1、または 2 のいずれかになります。次に 1 を引くと、必要に応じて -1、0、または 1 のいずれかになります。

于 2012-10-24T23:33:43.523 に答える