Подтвердить что ты не робот

Добавление целых чисел в массив int

Я пытаюсь добавить целые числа в массив int, но Eclipse говорит:

не может вызывать add (int) для типа массива int []

Это совершенно нелогично для меня. Я также пробовал addElement() и addInt(), однако они тоже не работают.

public static void main(String[] args) {
    int[] num = new int[args.length];
    for (String s : args){
        int neki = Integer.parseInt(s);
        num.add(neki);

}
4b9b3361

Ответ 1

Чтобы добавить элемент в массив, вам нужно использовать формат:

array[index] = element;

Где array - объявленный массив, index - это позиция, в которой будет храниться элемент, а element - это элемент, который вы хотите сохранить в массиве.

В вашем коде вы хотите сделать что-то вроде этого:

int[] num = new int[args.length];
for (int i = 0; i < args.length; i++) {
    int neki = Integer.parseInt(args[i]);
    num[i] = neki;
}

Метод add() доступен для Collections как List и Set. Вы можете использовать его, если используете ArrayList (см. документация), например:

List<Integer> num = new ArrayList<>();
for (String s : args) {
    int neki = Integer.parseInt(s);
    num.add(neki);
}

Ответ 2

В массиве нет метода добавления. Вы присваиваете значение элементу массива с num[i]=value;.

public static void main(String[] args) {
    int[] num = new int[args.length];
    for (int i=0; i < num.length; i++){
      int neki = Integer.parseInt(args[i]);
      num[i]=neki;
    }
}

Ответ 3

Массив имеет фиксированную длину. Вы не можете "добавить" к нему. В начале вы определяете, как долго это будет.

int[] num = new int[5];

Это создает массив целых чисел, который имеет 5 'ведра'. Каждое ведро содержит 1 целое число. Для начала все это будет 0.

num[0] = 1;
num[1] = 2;

Две строки выше устанавливают первое и второе значения массива на 1 и 2. Теперь ваш массив выглядит так:

[1,2,0,0,0]

Как вы видите, вы устанавливаете в нем значения, вы не добавляете их в конец.

Если вы хотите создать список номеров, которые вы добавляете, вы должны использовать ArrayList.

Ответ 4

Вы не можете использовать метод add в массиве на Java.

Чтобы добавить что-то в массив, сделайте это так:

public static void main(String[] args) {
int[] num = new int[args.length];
for (int i = 0; i < args.length; i++){
    int neki = Integer.parseInt(s);
    num[i] = neki;

}

Если вы действительно хотите использовать метод add(), рассмотрите вместо этого ArrayList<Integer>. Это имеет несколько преимуществ - например, он не ограничен максимальным размером, установленным при создании. Вы можете продолжать добавлять элементы на неопределенный срок. Однако это не так быстро, как массив, поэтому, если вы действительно хотите, чтобы производительность пал с массивом. Также для этого требуется использовать объект Integer вместо примитивных типов int, что может вызвать проблемы.

Пример ArrayList

public static void main(String[] args) {
    ArrayList<Integer> num = new ArrayList<Integer>();
    for (String s : args){
        Integer neki = new Integer(Integer.parseInt(s));
        num.add(s);
}

Ответ 5

Массивы отличаются от ArrayList s, на которые вы могли бы позвонить add. Сначала вам понадобится индекс. Объявите i перед циклом for. Затем вы можете использовать выражение доступа к массиву для назначения элемента массиву.

num[i] = s;
i++;

Ответ 6

у вас есть массив int, который является примитивным типом, примитивный тип не имеет метода add. Вы должны искать Collections.