【问题标题】:Check if the first element of scanner in Java检查Java中scanner的第一个元素
【发布时间】:2020-04-10 15:37:16
【问题描述】:

我有一个 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;
}

【问题讨论】:

    标签: java arraylist java.util.scanner java-io


    【解决方案1】:

    只需使用计数器来确定它是否是第一个元素。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多