我在从数组生成随机 int
时遇到问题。
在某些情况下,输出是 int
,但不是该数组的元素。
public static int array1[] = new int [] {0,3,6,9,12,15,18,21,24,27,30,33,36};
public static int rand;
public static int random()
{
int max = array1[12];
int min = array1[0];
rand = (int) Math.floor(Math.random()*(max - min)+1);
return rand;
}
我做错了什么?
最佳答案
您当前的算法正在计算数组中第一个元素和最后一个元素之间的随机数。
您应该从数组中检索随机元素。为了实现这一点,最好生成一个介于 0 和数组长度(不包括)之间的随机数,然后返回该索引处的元素。
关于java - 如何从具有给定元素的数组生成随机 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26695429/