Как получить количество входных значений из текстового файла в Java SE?
Я студент первого семестра информатики, изучаю Python и Java.
Тема: интерпретатор извлекает входные данные из текстового файла и складывает их все вместе, а затем находит среднее значение.
У меня есть часть вниз прекрасно, где программа добавляет их все вместе (я использую double, x), моя проблема заключается в том, что я хочу выяснить, как заставить интерпретатор считать фактическое количество значений x, которые существуют в текстовом файле. Конечно, я могу легко собрать их вместе, пересчитав их и ввод фиксированного значения для делителя, используемого для нахождения среднего, но я хочу, чтобы программа сделала это так, чтобы если в указанном текстовом файле есть другое количество значений x, программа могла адаптироваться.
Это мой первый вопрос о переполнении стека, поэтому я, возможно, не так конкретен в деталях, как некоторые более опытные программисты, но я горю желанием учиться. Ранее я программировал более сложные программы на Python, поскольку это наш основной язык (даже там программы относительно просты, когда по сравнению с чем-то, сделанным опытным программистом). Java (как многие из вас хорошо знают) сильно типизирована, и это моя первая настоящая программа, которую я пишу на этом языке.
Ниже приведен мой код в IDE NetBeans 8.0.1:
/*
Purpose: Read real numbers from a file and print to the console only those
numbers which are greater than the mean of the numbers in the file.
Author: Brent McDonald
Date: 26 November 2014
Class: CSC 200 - 001W
*/
package homework.pkg23.average;
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class Homework23Average {
public static void main(String[] args) {
double MEAN;
double x;
double y = 0;
Scanner inputStream = null;
try {
inputStream = new Scanner (new File ("RawData.txt"));
}
catch (FileNotFoundException e) {
System.out.println ("File not found, program aborted:");
System.exit (1);
}
while (inputStream.hasNextDouble ()) {
x = inputStream.nextDouble ();
y += x;
System.out.println (x);
}
System.out.println ("This is the sum of all x values: " + y);