在Java中向数组添加int

时间:2013-07-18 13:25:57

标签: java arrays random int append

我正在尝试创建一个随机数来添加到数组(arr)。我四处寻找答案,但他们似乎都没有工作或过时。这是我尝试过的:

int[] arr = {};
int rand =  (int) Math.round(Math.random() * 100);
arr = append(arr, rand);

然而,这似乎不起作用,因为在append下面有一条红线说“方法append(int [],int)未定义类型new ActionListener(){}”。非常感谢帮助!

7 个答案:

答案 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;
}

来自Arrays (Java Docs)

希望这有帮助。

答案 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;
}