将文本文件中的某些整数读入数组列表

Reading certain integers from a text file into a Array List

我必须读取文本文件中的两组整数。一个是学生可以拥有的学分数量,然后下一个整数是测试中的字母等级。我可以将整数读入 ArrayList,但问题是我想先读取它们拥有的信用量,然后选择将它们添加到哪个 ArrayList,在一定信用量或超过一定量的情况下。我不想增加学分数量,只增加他们获得的分数。我在文本文件中有 25 行整数,首先是学分,然后是 space,然后是成绩。我只需要记录成绩,而不是学分。 这是我的代码到目前为止的样子:

public static void main(String[] args) throws FileNotFoundException 
{
    try
    {
        ArrayList <Integer> over15credits = new ArrayList<>();
        ArrayList <Integer> under15credits = new ArrayList<>();
        FileReader myReader = new FileReader("geomClass.txt");
        Scanner fileIn = new Scanner(myReader);

        while(fileIn.hasNextInt())
        {
            if(fileIn.nextInt() >= 15)
            {
                over15credits.add(fileIn.nextInt());

            }
            else
            {
                under15credits.add(fileIn.nextInt());
            }
            System.out.println(over15credits);
            System.out.println(under15credits);
        }
    }
    catch(FileNotFoundException e)
    {
        System.out.println("!!FILE NOT FOUND!!");
    }
}

当您执行 fileIn.nextInt() 时,它会读取并使用该号码,这样当您再次调用 fileIn.nextInt() 时,它会在之后读取该号码。

很可能您打算使用一个变量,以便您可以使用刚刚读取的数字。

    int num = fileIn.nextInt();
    if (num >= 15)
        over15credits.add(num);
    else
        under15credits.add(num);

您想使用您刚读过的同一个号码,而不是另一个号码。

仅供参考,您也可以这样写。

    int num = fileIn.nextInt();
    (num >= 15 ? over15credits : under15credits).add(num);