当前位置: 首页 > 知识库问答 >
问题:

从文本文件中读取某些整数到数组列表中

司寇季
2023-03-14

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

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!!");
    }
}

共有1个答案

范浩荡
2023-03-14

当您执行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);
 类似资料:
  • 问题内容: 我有一个包含一些元数据的文件,然后是包含2个带有标题的列的实际数据。在numpy中使用genfromtxt之前,是否需要将两种类型的数据分开?还是可以以某种方式拆分数据?将文件指针放在标题上方行的末尾,然后从那里尝试genfromtxt怎么办?谢谢该文件的格式如下所示: 问题答案: 如果您不希望第一行,请尝试(如果没有丢失的数据): 或(如果缺少数据): 如果然后要解析标头信息,则可以

  • 问题内容: 我想从一个文本文件(例如contactids.txt)读取整数值。在文件中我有像 我想从文本文件中读取它们…请帮助 问题答案: 您可能想要做这样的事情(如果您使用的是Java 5及更高版本) 通过Julian Grenier从数组中的文件读取整数

  • 问题内容: 因此,如标题所示,即时消息开始学习一些python,而即时消息处理则难以掌握。我需要完成的工作是读一些数字并将它们存储在列表中。文本文件如下所示: 基本上,这些是用于python的海龟制作形状的坐标和方向。我要讲的是,唯一的问题是使它们采用正确的格式。因此,我无法确定的是如何将这些数字从文件中提取到 A列表中,每个四个坐标是一个大列表中的一个列表。 这是我的尝试,但正如我所说,我需要一

  • 问题内容: 我想从一个充满整数的文本文件中读取数据,并让程序在求和时将这些整数打印到屏幕上。这应该不难,但我无法弄清楚!!! 这是极其简化的文本文件: 这是我应该工作的代码: 最后,这是我得到的输出: 问题答案: 您在循环中两次调用textfile.nextInt()。尝试:

  • 读取行和数字并将其存储到数组X中,但数组只到位置0和1,当它改变行时,它只将新的数字(例如NUM 3)写入旧数字所在的位置(例如pos 0中的NUM 1) 有什么解决办法吗?

  • 所以,我试图让我的程序从文本文件中读入一个结构数组,它编译得很好,但看起来并没有真正读入值?...我不知道为什么。这是代码的相关部分: 这是txt文件(标题:Planets.txt) 水星120 50 500 12.1 30 2金星120 50 500 29.1 30 6地球120 50 500 32.2 30 7月亮120 15 50 5.3 30 2火星120 50 500 12.2 30 4