我正在尝试创建一个随机数来添加到数组(arr)。我四处寻找答案,但他们似乎都没有工作或过时。这是我尝试过的:
int[] arr = {};
int rand = (int) Math.round(Math.random() * 100);
arr = append(arr, rand);
然而,这似乎不起作用,因为在append下面有一条红线说“方法append(int [],int)未定义类型new ActionListener(){}”。非常感谢帮助!
答案 0 :(得分:7)
你首先要声明你的数组:
int [] arr;
你知道你将存储多少个整数吗?
arr = new int [10];
然后,您将使用for循环遍历数组中的每个元素。
for (i=0; i<10; i++) {
int rand = (int) Math.round(Math.random() * 100);
arr[i] = rand;
}
希望这有帮助。
答案 1 :(得分:4)
你不能“追加”到数组:尽管Java中的数组元素是可变的,但数组的长度是在创建时设置的,以后不能更改。
如果您需要可以更改大小的集合,请使用ArrayList<Integer>
根据需要添加任意数量的元素;之后,您可以将列表转换为数组。
答案 2 :(得分:2)
在Java中,数组是固定长度的,因此您无法动态追加它们。
如果要将内容附加到列表中,则应使用Arraylist
。
List<Integer> arr = new ArrayList<Integer>();
int rand = (int) Math.round(Math.random() * 100);
arr.add(rand);
答案 3 :(得分:0)
无法将“附加”元素添加到数组中。您必须创建具有适当大小的新数组,复制所有旧元素并插入新元素。 另一种方法是使用ArrayList。
答案 4 :(得分:0)
为什么不使用List?
List<Integer> arr = new ArrayList<Integer>();
int rand = (int) Math.round(Math.random() * 100);
arr.add(rand);
答案 5 :(得分:0)
默认情况下,Java编译器在与您调用它们相同的类中查找方法。在这种情况下,它似乎是一个匿名的ActionListener
类,所以它在那里查找append(int[], int)
方法,但它无法找到它。
回到你想要达到的目标。一组原始类型(如int[]
所示)没有任何方法。所以我们需要一些帮助。
首先,我们可以使用Arrays.asList(T...)
将数组转换为List<Integer>
。接下来,我们可以通过调用List.add(E)
将新的int
添加到该列表中。最后,我们可以通过调用List.toArray(T[])
将该列表转换回int[]
。一体化,看起来像这样:
int[] arr = {};
List<Integer> list = Arrays.asList(arr);
list.add((int) Math.round(Math.random() * 100));
arr = list.toArray(arr);
答案 6 :(得分:0)
我创建了一个名为generaterandomInt的函数。
private float generateRandomInt(int min, int max) {
return min + (max - min) * random.nextInt();
}
现在你只需将它实现到你的循环中
for (i=0; i<10; i++) {
int rand = generateRandomInt(0, 100);
arr[i] = rand;
}