Я пытаюсь читать ввод из текстового файла, который будет отформатирован, как это:Чтение следующей строки в текстовом файле
2 80 97
5 69 79 89 99 58
7 60 70 80 90 100 0 59
Первый номер каждой строки число «классов» в "раздел."
Я получил свою программу, чтобы прочитать один раздел, но я не могу понять, как заставить его читать, сколько будет секций, а затем прочитать следующую строку.
Я думаю, что я могу поместить свой текущий код в цикл, контролируемый счетчиком, который сначала прочитает, сколько секций есть, и запустил цикл много раз. Я просто не знаю, как преобразовать эту идею в код.
Вот revevant код раздела:
public static void main(String args[]) throws Exception
{
Scanner in = new Scanner(new File("prog2test.txt"));
//int sections = (in.nextInt());
int scores = (in.nextInt());
int scoresForAverage = scores;
int scoreTotals = 0;
double average = 0;
int A = 0;
int B = 0;
int C = 0;
int D = 0;
int F = 0;
int highest = 0;
int lowest = 100;
while (scores > 0 && in.hasNextInt())
{
int grade = in.nextInt();
if (grade >= 90)
A++;
else if (grade >= 80)
B++;
else if (grade >= 70)
C++;
else if (grade >= 60)
D++;
else
F++;
if (grade > highest)
highest = grade;
if (grade < lowest)
lowest = grade;
scores--;
scoreTotals = (scoreTotals + grade);
}
average = scoreTotals/scoresForAverage;
System.out.println("Scores for section 1");
System.out.println("A's: " + A);
System.out.println("B's: " + B);
System.out.println("C's: " + C);
System.out.println("D's: " + D);
System.out.println("F's: " + F);
System.out.println("Lowest score: " + lowest);
System.out.println("Highest score: " + highest);
System.out.println("Average: " + average);
EDIT: обновление с полным методом.
Вы используете сканер? –