-4

ユーザーが指定したサイズの int 配列でランダムな値のセットを生成して返すメソッドを記述します。値はすべて +/- N の間である必要があります。ここで、N は 100 などの定数です。ありがとうございます。これが私のものです。

import java.util.*;

public class Test
{

    public static void main(String[] args) 
    {
        int limit, numbers;
        Random random = new Random();
        Scanner scan = new Scanner(System.in);

        System.out.print ("Enter your limit value for your array: ");           //Needs to be positive.
        limit = scan.nextInt();

        int[] list = new int[limit];

        for (int i = 0; i < list.length; i++) 
        {
            System.out.print(list[i] + ", ");
        }

        numbers = random.nextInt(limit - (0 - limit)) + (0 - limit);
        System.out.println (numbers);

        System.out.println (list[numbers]);

    }
}
4

1 に答える 1

0
public List<Integer> random(int range, int count){
    List<Integer> result = new ArrayList<Integer>();
    for(int i=0;i<count;i++){
        if(Math.random() > 0.5){
            //adding positive value with probability of 0.5
            result.add((int)(Math.random() * (double)range));
        }else{
            //adding negative value with probability of 0.5
            result.add(-1 * (int)(Math.random() * (double)range));
        }

    }
    return result;
}

独自の乱数ジェネレーターを作成する場合、最も簡単に実装できるのは Linear Congruential Generator です。ウィキから読んで、自分で試してください。ヘルプが必要な場合は、ここで質問してください。

于 2014-12-14T03:41:48.857 に答える