Javaは2つの指定値の間で乱数を生成する


Answers

upperを上限、lowerを下限とすると、2つの境界の間で乱数rを作ることができます:

int r = (int) (Math.random() * (upper - lower)) + lower;
Question

この質問には既に回答があります:

私は2つの与えられた値の間に乱数を生成する方法を知りたいと思います。

私は以下のように乱数を生成することができます:

Random r = new Random();

for(int i = 0; i < a.length; i++){
    for(int j = 0; j < a[i].length; j++){
        a[i][j] = r.nextInt();
    }

}

しかし、どのようにして0から100までの乱数を生成できますか?

皆さん、ありがとうございました。




JavaにはPythonと同じように2つの値の間にランダムジェネレータはありません。 実際にはランダムを生成するのに1つの値しかかかりません。 あなたがしなければならないことは、生成された番号に1つのCERTAIN NUMBERを追加することで、その数は範囲内になります。 例えば:

package RandGen;

import java.util.Random;

public class RandGen {


    public static Random numGen =new Random();

public static int RandNum(){
    int rand = Math.abs((100)+numGen.nextInt(100));

    return rand;
}

public static void main(String[]Args){
   System.out.println(RandNum());
}

}

このプログラムの機能は完全に6行目(int rand ...で始まる行)にあります。Math.abs()は数値を絶対値に変換するだけで、intとして宣言されています。 numGen.nextInt()は乱数そのものの値であり、(100)を置くので、乱数に追加する数字は100です。その括弧内には1から100までの任意の数です。したがって、100を足すと、101と200の間の数になります。実際には100と200の間の数を生成していません。 100。




このような、

Random random = new Random();
int randomNumber = random.nextInt(upperBound - lowerBound) + lowerBound;



Links