检查 Java 中扫描仪的第一个元素

Check if the first element of scanner in Java

我有一个 txt 文件,其中有单独的值,例如 1 2 3 10 15 2 5...,我将它们分配给一个数组列表,如下所示。在此期间我需要省略第一个值并且我需要检测扫描的值是否是第一个值。我尝试过 indexOf 等方法,但无法修复。如何检测第一个元素并使用 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;
}

只要用一个计数器来判断它是否是第一个元素。

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() 并避免解析它。