2016-03-09 6 views
0

Так что в основном я пытаюсь написать программу, в которой кто-то может ввести 10 целых чисел, которые затем будут сохранены в TXT-файле, а затем открыты и усреднены вместе.Чтение целых чисел в .txt-файле (Java)

Я делаю довольно хорошо до сих пор, у меня есть обработка исключений и сохранение файла с введенными целыми числами, но я не уверен, как читать файл. Я предполагаю, что вычисление среднего не будет затруднительным, если у меня все получится. Вот часть моего кода с остальными связаны ниже (я действительно думаю, что вы должны были бы увидеть полный код, чтобы лучше распознавать проблемы):

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

ответ

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, но я предполагаю, что вы делаете что-то толковое, как записывая одно целое число pe r в ваш файл. В противном случае отрегулируйте код в соответствии с вашими потребностями.

0

Прежде всего, как указано chalarangelo, вы не открываете файл правильно. Вы можете использовать класс Formatter для записи в файл, но вы не можете его прочитать из файла. Поэтому вам нужно использовать правильный читатель, например BufferedReader, и использовать его метод readLine().

В этом случае необходимо хранить целые числа вместе со строкой «Вводимое целое число:» ... Если это так, то будет немного сложно просто получить цифры. Я бы посоветовал печати только цифры в файл, т.е. просто сделать

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

вместо

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

После этого использовать читателя и читать строку и преобразовать его в целое число и сохранить его в массиве, как упоминалось в ответе Чаларенго.

Смежные вопросы