java - 将随机值分配给数组的问题
问题描述
我一直在尝试编写一种方法,该方法在被调用时会产生一个随机长度的数组,并为每个值分配随机数。出于某种原因,我在 for 循环中遇到了越界异常。
public static int[] randArray()
{
int[] myRandArray = new int[0];
for (int i = 0; i <= (int)((Math.random() * 99) + 1); i++ ) {
myRandArray[i] = (int)((Math.random() * 99) + 1);
}
return myRandArray;
}
我是 Java 的新手,这可能是一个愚蠢的问题,但无论如何谢谢。
解决方案
在尝试添加之前,您需要设置最终的数组长度:
int length = (int)((Math.random() * 99) + 1);
int[] myRandArray = new int[length];
然后在循环内你可以简单地做:
for (int i = 0; i < length; i++ ) {
myRandArray[i] = (int)((Math.random() * 99) + 1);
}
请注意我在循环中如何使用i <
not i <=
,否则最后一项将超出范围。
推荐阅读
- android - 尝试通过 OpenGL 渲染位图,但位图不可见
- audiokit - AudioKit 可以检测和弦频率吗?
- c# - 如何使用主数据服务 (MDS) WCF API 获取域属性的值
- sql - 我怎样才能将我的 PK 数据放在一行中,而不是在彼此下方多次出现?
- c# - 如何使用按钮将元素从一个表格显示到另一个表格?
- css - 我可以将单位添加到 css calc 中的值吗?
- reporting-services - SSRS 基于一个 X 轴 LABEL 上的两个日期组合两个值
- python - 使用自定义 Python 包
- python - 对多列应用 .str 操作
- html - 更改超链接的样式