Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取.txt文件中的整数(Java)_Java_Input_Syntax_Output_File Handling - Fatal编程技术网

读取.txt文件中的整数(Java)

读取.txt文件中的整数(Java),java,input,syntax,output,file-handling,Java,Input,Syntax,Output,File Handling,所以基本上我在写一个程序,在这个程序中,有人可以输入10个整数,然后保存在一个.txt文件中,然后一起打开并取平均值 到目前为止,我做得很好,我得到了所有的异常处理并保存了一个带有输入整数的文件,但我不确定如何读取该文件。我假设,一旦我把所有这些都做了,计算平均值就不难了。下面是我的部分代码,其余部分链接在下面(我真的认为您需要查看完整代码才能更好地识别问题): 如果未正确打开文件,则需要使用读卡器: public static void readRecords(){ try (Buff

所以基本上我在写一个程序,在这个程序中,有人可以输入10个整数,然后保存在一个.txt文件中,然后一起打开并取平均值

到目前为止,我做得很好,我得到了所有的异常处理并保存了一个带有输入整数的文件,但我不确定如何读取该文件。我假设,一旦我把所有这些都做了,计算平均值就不难了。下面是我的部分代码,其余部分链接在下面(我真的认为您需要查看完整代码才能更好地识别问题):


如果未正确打开文件,则需要使用读卡器:

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
文件的确切格式,但我假设你正在做一些明智的事情,比如在文件中每行写一个整数。否则,请根据需要相应地调整代码。

首先,正如chalarangelo所述,您没有正确打开文件。您可以使用
Formatter
类写入文件,但不能使用该类从文件中读取。因此,您需要使用合适的读取器,如
BufferedReader
,并使用其
readLine()
方法

除此之外,有必要将整数与字符串一起存储吗 “输入的整数:”。。。如果是这样的话,那么仅仅获得数字就有点困难了。我建议只将数字打印到文件中,即只打印

output.format(“%s%n”,String.valueOf(number[i])

而不是

output.format(“输入的整数:%s%n”,String.valueOf(number[i]))

之后,使用读卡器读取该行并将其转换为整数,然后将其存储在数组中,如chalarengo的回答中所述

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
    }
}