Я пытаюсь, чтобы мой код отображал наивысший балл, наименьший балл и средний балл класса преподавателя.Правильно форматирование моего вывода
Я хочу, чтобы показать, как это:
Самый высокий показатель: 94,7, Джейк
Самая низкая оценка: 80,2, Эмили
Средняя оценка: 85,6
Самый высокий класс и средний но самый низкий класс - нет. Это то, что у меня есть до сих пор:
import java.util.*;
public class Grades {
public static void main(String[] args) {
ArrayList<Integer> bestStudentPosition = new ArrayList<Integer>();
ArrayList<Integer> worstStudentPosition = new ArrayList<Integer>();
Scanner input = new Scanner(System.in);
System.out.print("How many students are in your class? ");
int totalStudents = Integer.parseInt(input.nextLine());
String[] names = new String[totalStudents];
double[] scores = new double[totalStudents];
double maxGrade = 0;
double minGrade = scores[0];
double avg = 0;
double sum = 0;
for(int i = 0; i < totalStudents; i++){
System.out.print("Name: ");
names[i] = input.next();
System.out.print("Score: ");
scores[i] = input.nextDouble();
sum += scores[i];
if (scores[i] > maxGrade) {
bestStudentPosition.clear();
maxGrade = scores[i];
bestStudentPosition.add(new Integer(i));
}
else if (scores[i] == maxGrade) {
bestStudentPosition.add(new Integer(i));
}
if (scores[i] < minGrade) {
worstStudentPosition.clear();
minGrade = scores[i];
worstStudentPosition.add(new Integer(i));
}
else if (scores[i] == minGrade) {
worstStudentPosition.add(new Integer(i));
}
}
avg = sum/totalStudents;
System.out.print("Highest score: ");
for (Integer position : bestStudentPosition) {
System.out.println(maxGrade + ", " + names[position]);
}
System.out.print("Lowest score: ");
for (Integer position : worstStudentPosition) {
System.out.println(minGrade + ", " + names[position]);
}
System.out.printf("Average: %3.2f", avg);
}
}
Любая помощь будет оценена по достоинству.
В случае (оценки [я])
'оценки [0]' не имеет ничего там , Проверьте ответ. –