Я пишу программу, которая использует 30 классов из файла и вычисляет наименьшие, высшие и средние оценки. Мне трудно понять, как написать оператор цикла, который читает каждый класс и обновляет наименьший/самый высокий класс и добавляет это значение к сумме перед чтением следующего сорта.Java: Как читать значения из .txt-файла
import java.io.*;
import java.util.*;
public class MidtermStat {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(new FileReader("grades.txt"));
int lowest = 50;
int highest = 50;
int sum = 0;
int i;
for (i = 0, i < 30, i++){
if (grade < lowest)
lowest = grade;
if (grade > highest)
highest = grade;
}
double average = sum/30;
System.out.println("The average score is: " + average);
System.out.println("The highest score is: " + highest);
System.out.println("The lowest score is: " + lowest);
in.close();
}
}
Спасибо понял это:
import java.io.*;
import java.util.*;
public class MidtermStat {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(new FileReader("grades.txt"));
int lowest = 50;
int highest = 50;
int sum = 0;
int i;
for (i = 0; i < 30; i++){
int grade = in.nextInt();
if (grade < lowest)
lowest = grade;
if (grade > highest)
highest = grade;
sum += grade;
}
double average = (sum/30.0);
System.out.println("The average score is: " + (int)(average * 100)/100.0);
System.out.println("The highest score is: " + highest);
System.out.println("The lowest score is: " + lowest);
in.close();
}
}
Это 'суммы/30' является целочисленным делением. –
Typecast, чтобы удвоить среднюю = (двойную) сумму/30; – SoulRayder
Вам нужно что-то прочитать из файла и обновить значения из цикла ... – MadProgrammer