簡體   English   中英

讀取.txt文件中的整數(Java)

[英]Reading integers in a .txt file (Java)

因此,基本上我正在嘗試編寫一個程序,其中有人可以輸入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]));
        }
    }
}

http://pastebin.com/yW6G8N8C

您沒有正確打開文件,您需要使用閱讀器:

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()方法。

除此之外,還需要將整數與字符串“ Inputed integer:”一起存儲。如果是這樣,那么僅獲取數字會有些困難。 我建議只在文件中打印數字,即

output.format("%s%n", String.valueOf(numbers[i]));

代替

output.format("Inputted integer: %s%n", String.valueOf(numbers[i]));

之后,使用閱讀器讀取該行並將其轉換為整數,然后將其存儲在數組中,如chalarengo的答案中所述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM