Добавить несколько целых в ArrayList на одной строке - PullRequest
2 голосов
/ 01 мая 2020

Я пишу программу, которая будет принимать пользовательский ввод и сортировать его в порядке возрастания или убывания в зависимости от того, что они выберут. Я попытался использовать простой массив, но он не работал должным образом с методами сортировки массива, поэтому я попробовал ArrayList. Кажется, это работает, за исключением того факта, что он читает только первый int, набранный пользователем. Я попробовал метод addAll, но оказалось, что он работает только для коллекций, а не переменных.

Это мой код:

import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
public class ElevenThree {
    public static void main (String[] args) {
        Scanner scan = new Scanner(System.in);
        ArrayList<Integer> arrayList = new ArrayList<Integer>();
        int size = 0;
        int type = scan.nextInt();
        if(type == 0) {
            size = scan.nextInt();
            arrayList.add(scan.nextInt());
            Collections.sort(arrayList);
        }
        if (type == 1) {
            size = scan.nextInt();
            arrayList.add(scan.nextInt());
            Collections.sort(arrayList, Collections.reverseOrder());
        }
        System.out.println(arrayList);
    }
}

Вход:

0
9
4 3 6 8 9 2 1 5 7

Выход:

[4]

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

1 Ответ

3 голосов
/ 01 мая 2020

Когда вы говорите nextInt(), он принимает только первое целое число, равное 4.

. Вам нужно взять входные данные в al oop.

for (int i = 0; i < size; i++) {
    arrayList.add(scan.nextInt());
}

Примечание: Ввод целых чисел в строке позволит вам вводить неограниченные целые числа, но он будет принимать только целые числа n, где n - это size. Программа остановится после ввода n, если вы введете каждую из них в отдельной строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...