1

我正在尝试创建一个随机数以添加到数组(arr)。我四处寻找答案,但它们似乎都不起作用或已经过时。这是我尝试过的:

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

但是,这似乎不起作用,因为 append 下有一条红线,上面写着“方法 append(int[], int) 未定义用于 new ActionListener(){} 类型”。帮助将不胜感激!

4

7 回答 7

8

您将首先像这样声明您的数组:

整数 [] arr;

你知道你将存储多少个整数吗?

arr = new int[10];

然后,您将使用 for 循环遍历数组中的每个元素。

for (i=0; i<10; i++) {
  int rand = (int) Math.round(Math.random() * 100);
  arr[i] = rand;
}

数组(Java 文档)

希望这可以帮助。

于 2013-07-18T13:32:05.347 回答
4

您不能“附加”到数组:尽管 Java 中的数组元素是可变的,但数组的长度是在创建时设置的,以后不能更改。

如果您需要一个可以改变大小的集合,请使用ArrayList<Integer>添加任意数量的元素;之后,您可以将列表转换为数组。

于 2013-07-18T13:28:19.957 回答
2

在 Java 中,数组是固定长度的,因此您不能动态附加到它们。

如果要将内容附加到列表中,则应使用Arraylist.

List<Integer> arr = new ArrayList<Integer>();
int rand =  (int) Math.round(Math.random() * 100);
arr.add(rand);
于 2013-07-18T13:30:33.483 回答
0

没有办法将元素“附加”到数组中。您必须创建一个具有适当大小的新数组,复制所有旧元素并插入新元素。另一种方法是使用 ArrayList。

于 2013-07-18T13:29:37.620 回答
0

为什么不使用列表?

List<Integer> arr = new ArrayList<Integer>();
int rand =  (int) Math.round(Math.random() * 100);
arr.add(rand);
于 2013-07-18T13:31:18.810 回答
0

默认情况下,Java 编译器会在与您调用它们的位置相同的类中查找方法。在这种情况下,它似乎是一个匿名ActionListener类,所以它在哪里寻找append(int[], int)方法,但它找不到它。

回到你想要达到的目标。原始类型数组(如您int[]所愿)没有任何方法。所以我们需要一点帮助。

首先,我们可以List<Integer>使用将数组转换为 a Arrays.asList(T...)。接下来,我们可以int通过调用将新的 s 添加到该列表中List.add(E)int[]最后,我们可以通过调用将该 List 转换回List.toArray(T[]). 合而为一,看起来像这样:

int[] arr = {};
List<Integer> list = Arrays.asList(arr);
list.add((int) Math.round(Math.random() * 100));
arr = list.toArray(arr);
于 2013-07-18T13:31:40.033 回答
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;
}
于 2018-06-15T15:36:30.367 回答