【发布时间】:2011-09-06 02:45:23
【问题描述】:
我正在为学校做复习作业。任务是编写一个类,该类从标准输入读取一个包含几个整数的文件,这些整数将被放入一个数组中。从这里开始,需要编写找到平均值、中值、最大值、最小值和标准差的方法。
它是这样写的:
45
56
67
78
89
等等……
所以,我假设我需要创建一个数组列表(因为长度未定义)并使用扫描仪读取每一行的整数,然后创建将挑选出我需要的方法。 但是,我不明白如何正确结合使用 FileReader 和 Scanner。 我目前正在运行 BlueJ。文本文件位于项目文件夹下,但代码从未找到该文件。
这是我目前所拥有的。
import java.io.*;
import java.util.*;
import java.math.*;
public class DescriptiveStats
{
public DescriptiveStats(){}
public FileReader file = new FileReader("students.txt");
public static void main(String[] args) throws IOException
{
try{
List<Integer> scores = new ArrayList<Integer>();
Scanner sc = new Scanner(file);
while(sc.hasNext())
{
scores.add(sc.nextInt());
}
sc.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
【问题讨论】:
-
您的代码对我来说很好用。你的意思是你有一个 FileNotFoundException,或者你在访问列表“分数”中的值时遇到了另一个问题?
-
我有一个 FileNotFoundException,所以我无法真正看到输出来确定我正在做的事情是否正确。我使用的是 blueJ,该文件与项目的 .java 文件位于同一目录中。