如何使用Math.random在数组中的随机位置放置值?

时间:2015-10-05 04:37:37

标签: java arrays random

我有一个名为Events的数组。

String[] Events = new String[20];

如何使用math.random()编写一个方法将10个随机事件放入此数组?我试图解决这个问题的方法是:我是新手,仍在学习从python转向java,压力很大。

public static void AddRandomEvents(Events[] event) {
    for(int i = 0; i < event.length; i++){
        int rand = (int) (Math.random() + 10) + 1;
        System.out.println(event[rand]);
    }
}

我有一个叫做事件的类,这就是为什么它的事件[]

任何帮助或贡献都会有所帮助。感谢。

另外,我正在从这个数组中放置10个随机事件

String[] names = {"Wedding", "Birthday", "Funeral","Clubbing","Anniversary", "Volunteer", "Job fair"};

到events数组,怎么样?感谢

1 个答案:

答案 0 :(得分:1)

java.util.Random还提供了生成伪随机,均匀分布值的数字的方法。为了从event数组中挑选10个随机事件,nextInt(int n)方法可能会有所帮助。

    public static void addRandomEvents(Events[] events) {
        Random random = new Random();
        for(int i = 0; i < 10; i++){
            int randomEventIndex = random.nextInt(eventNames.length);
            String randomEventName = eventNames[randomEventIndex];
            String randomEventTime = new Date().toString();
            int randomPriority = random.nextInt(events.length);
            Events randomEvent = new Events(randomEventTime, randomEventName, randomPriority);
            events[i] = randomEvent;
        }
    }

可以这种方式调用此方法:

    static String[] eventNames = {"Wedding", "Birthday", "Funeral","Clubbing","Anniversary", "Volunteer", "Job fair"};
    Events[] events = new Events[10];
    addRandomEvents(events);