java - 如何从具有给定元素的数组生成随机 int?

标签 java arrays

我在从数组生成随机 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/

相关文章:

javascript - 在响应中发回 JSON 对象(不是字符串版本)

java - 需要帮助通过java进程执行postgresql查询

javascript - 我试图打印数组索引,但是我们如何在 angularjs 中以相反的顺序进行打印

java - 从 WordNet 获取大量名词

java - swagger - 没有 API 的空列表

java - 当相对 URI 包含空路径时,Java 的 URI.resolve 是否与 RFC 3986 不兼容?

python - 如何在 Python 中创建可变代码?

python - Numpy 列栈 (46020, 369) (46020,) (46020,) (46020,)

arrays - 将带有文本字段的 CSV 扫描到 Swift 数组中

Jquery - 使用数组内容填充下拉框