Я работаю над назначением и не могу получить этот метод для получения правильного вывода в файл. Я должен получить среднее значение и записать его в файл. Их класс StatsDemo и класс StatsFile. Я вроде начинающий на Java, поэтому мне бы хотелось немного помочь. Мой метод в классе StatsFile в настоящее время, как это:Запись/чтение файлов в Java
//returns the calculated arithmetic average
public double calculateMean(String filename) throws FileNotFoundException
{
// declare variables step 5
double accumulator = 0.0;
int counter =0;
String line;
try{
File input = new File(filename);
//create a Scanner object passing it the File object
Scanner keyboard = new Scanner(input);
//for (int i = 0; i < input.length(); i++){
// Read a double from the file.
while(keyboard.hasNextDouble()){
accumulator += keyboard.nextDouble();
// Add to counter
counter++;
}
keyboard.close();
}catch(FileNotFoundException e){
}
return (accumulator/counter);
}
Демонстрационная как таковой:
import java.util.Scanner;
import java.text.DecimalFormat;
import java.io.*;
public class StatsDemo {
public static void main(String[] args) throws FileNotFoundException {
// TODO Auto-generated method stub
DecimalFormat threeDec = new DecimalFormat("0.000");
Scanner keyboard = new Scanner(System.in);
String filename; // the user input file name
System.out.print("Enter the file name: ");
filename = keyboard.nextLine();
FileStats fileObj = new FileStats(filename);
try{
PrintWriter name = new PrintWriter("Results.txt");
name.println("mean = " + threeDec.format(fileObj.getMean()));
name.println("Standard Deviation = " + threeDec.format(fileObj.getStdDev()));
name.close();
}catch(IOException e){
System.out.println("Error");
}
}
}
Уловы и бросает все еще отчасти запутать меня. Моя проблема заключается в том, что в настоящее время он дает мне знак вопроса вместо среднего, когда я открываю файл. Любая помощь будет оценена.
Вы проверили, что 'FileNotFoundException' не выбрасывается? Пустые блоки блокировки опасны. – Kayaman
Не отображается ли на консоли какая-либо ошибка? Кажется, fileObj.getMean (отправьте код, пожалуйста) дает какое-то исключение uncatched –
Лучше обеспечить реализацию 'getMean()'. Как это связано с 'calcullateMean'? – CoronA