0

問題の数学部分に問題がある。

このクラスは、値を他の 2 つの数値 (両端を含む) の間の乱数に設定することになっています。

元。20 が渡され、平均が 70 だった場合、60 から 80 の間の乱数が生成され、値として格納されます。

式の一部が (平均 - 範囲/2) と (平均 + 範囲/2) であることは知っています。

range = 渡された数。
average = 元の数。

4

1 に答える 1

0

あとは、Randomオブジェクトを使用して範囲内の乱数を取得するだけです。ループでそれらのうちの 10 個を取得するコードを次に示します。

import java.util.Random;

public class RandomNumber
{
   public static void main(String[] args) {
       int range = 20;
       int average = 70;
       int base = average - range/2;

       Random rand = new Random();

       for (int i = 0; i < 10; i++) {
           int num = rand.nextInt(range + 1) + base;
           System.out.println(num);
       }
   }
}

メソッドを呼び出すとnextInt(int n)0 (含む) から n (含まない) までの乱数が返されるrange + 1ため、下限だけでなく範囲の両端を含める必要があるため、それを渡す必要があります。上記の値を使用すると、 への呼び出しrand.nextInt(range + 1)は 0 から 20 までの値を返します。60のbase値が追加されると、これらの値は 60 ~ 80 に変換されます。

于 2013-05-22T23:18:18.110 に答える