Проверьте, если первый элемент сканера в Java - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть текстовый файл, и есть отдельные значения, такие как 1 2 3 10 15 2 5 ... и я назначаю их массиву, как показано ниже. Во время этого мне нужно опустить первое значение, и мне нужно определить, является ли отсканированное значение первым значением. Я пытался что-то вроде indexOf, et c, но не удается исправить. Как я могу обнаружить первый элемент и использовать if ()?

private static ArrayList<Integer> convert() throws FileNotFoundException {
    Scanner s = new Scanner(new File("C:\\list.txt"));
    ArrayList<Integer> list = new ArrayList<Integer>();

    while (s.hasNext()) {
        int next = Integer.parseInt(s.next());
        if (// s.next() is the first element of list.txt) {

        }
        list.add(next);
    }
    s.close();
    return list;
}

1 Ответ

2 голосов
/ 10 апреля 2020

Просто используйте счетчик, чтобы определить, является ли он первым элементом.

private static ArrayList<Integer> convert() throws FileNotFoundException {
    Scanner s = new Scanner(new File("C:\\list.txt"));
    ArrayList<Integer> list = new ArrayList<Integer>();
    int i = 0;
    while (s.hasNext()) {
        int next = Integer.parseInt(s.next());
        if (i == 0) {
          //must be first element
        } else  {
          // other elements
        }
        i++;
        list.add(next);
    }
    s.close();
    return list;
}

Вы также можете использовать Scanner.nextInt() и Scanner.hasNextInt() и избежать необходимости разбирать его.

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