所以基本上我试图编写一个程序,其中某人可以输入10个整数,然后将其保存在.txt文件中,然后打开并一起平均。
到目前为止,我做得非常好,我得到了所有的异常处理并用我输入的整数保存文件,但我不确定如何读取文件。我假设一旦完成所有事情,计算平均值并不困难。这是我的代码的一部分,其余部分链接在下面(我真的认为您需要查看完整代码才能更好地识别问题):
public static void closeFile()
{
if (output != null)
output.close();
}
public static void readRecords()
{
try
{
while (input.hasNext())
{
System.out.printf("%s%n", String.valueOf(numbers[i]));
}
}
}
答案 0 :(得分:0)
您没有正确打开文件,需要使用阅读器:
public static void readRecords(){
try (BufferedReader br = new BufferedReader(new FileReader("numbers.txt"))) {
String line;
int[] number = new int[10];
i=-1;
while ((line = br.readLine()) != null) {
i++;
number[i] = Integer.parseInt(line);
System.out.println("number "+i+" = "+number[i]);
}
}
catch(Exception e){
// Handle the trouble
}
}
我不完全确定你想要对你得到的数字或numbers.txt
文件的确切格式做什么,但我假设你做了一些合理的事情,比如每行写一个整数到你的文件。否则,请相应调整代码以满足您的需求。
答案 1 :(得分:0)
首先,如chalarangelo所述,您无法正确打开文件。您可以使用Formatter
类写入文件,但无法使用该文件从文件中读取。因此,您需要使用BufferedReader
之类的正确读者,并使用其readLine()
方法。
除此之外,您需要将整数与字符串一起存储 “输入的整数:”......如果是这样,那么获得数字会有点困难。我建议只将数字打印到文件中,即执行
output.format("%s%n", String.valueOf(numbers[i]));
而不是
output.format("Inputted integer: %s%n", String.valueOf(numbers[i]));
之后使用阅读器并读取该行并将其转换为整数并将其存储在数组中,如chalarengo的回答中所述。