Javaで乱数ジェネレータを作成する - num1とnum2を見ると、これらのメソッドのどちらを使っても1から8までの乱数を作成できますか? 1つは他の利点、他の利点よりも効率的ですか? 0
とn-1
間Java Math.abs random対nextInt()
import java.util.*;
public class Chpt3 {
public static void main(String[] args) {
Random rand = new Random();
int num1 = Math.abs(rand.nextInt()) % 8 + 1;
int num2 = rand.nextInt(8) + 1;
System.out.println(num1);
System.out.println(num2);
}
}
Integerを範囲[1、9]にしたいので、あなたの意図をよりよく記述しているので、rand.nextIntを使うべきです。他に分かっていない限り、より具体的な関数の内部実装は、既存の関数からそれらを構成するよりも優れている傾向があります。つまり、Javaはコンパイルされた言語であり、2つのパターンMath.abs(Math.random)とrandom.nextIntをほぼ同じ表現に正規化することによって、これらの決定の多くを無関係にする静的解析を利用します。 – Dmitry