Получение лучшего ученика и расчет среднего баллаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получение лучшего ученика и расчет среднего балла

Сообщение Anonymous »

Нам дан Java-класс Student, класс Randomizer и класс Classroom.
Нам сказали заполнить методы для getTopStudent и getAverageScore.

Ниже я включил классы для Student, Classroom и ClassroomTester.

Проблема: когда я запускаю его, происходит ошибка компилятора.

И я не понимаю, почему это неправильно... Я не забыл точку с запятой и не уверен, что они подразумевали под «незаконным началом выражения»

Код: Выделить всё

public class Student
{
private static final int NUM_EXAMS = 4;

private String firstName;
private String lastName;
private int gradeLevel;
private double gpa;

private int[] exams;
private int numExamsTaken;

public Student(String fName, String lName, int grade)
{
firstName = fName;
lastName = lName;
gradeLevel = grade;
exams = new int[NUM_EXAMS];
numExamsTaken = 0;
}

public double getAverageScore()
{
int sum = 0;
for(int i = 0; i < exams.length;i++)
{
sum+=exams[i];
}
return (double)sum/numExamsTaken;
}

public String getName()
{
return firstName + " " + lastName;
}

public void addExamScore(int score)
{
exams[numExamsTaken] = score;
numExamsTaken++;
}

// This is a setter method to set the GPA for the Student.
public void setGPA(double theGPA)
{
gpa = theGPA;
}

public String toString()
{
return firstName + " " + lastName + " is in grade: " + gradeLevel;
}
}


Код: Выделить всё

public class Classroom
{
Student[] students;
int numStudentsAdded;

public Classroom(int numStudents)
{
students = new Student[numStudents];

public Student getTopStudent()
{
double max = students[0].getAverageScore();
String topstudent = students[0].getName();
for (int i = 0; i < students.length; i++)
{
if (students[i].getAverageScore() > max)
{
max = students[i].getAverageScore();
topstudent = students[i];
}
}
return topstudent;
}
public void addStudent(Student s)
{
students[numStudentsAdded] = s;
numStudentsAdded++;
}

public void printStudents()
{
for(int i = 0; i < numStudentsAdded; i++)
{
System.out.println(students[i]);
}
}
}


Код: Выделить всё

public class ClassroomTester extends ConsoleProgram
{
public void run()
{
Classroom c = new Classroom(2);

Student ada = new Student("Ada", "Lovelace", 12);
ada.addExamScore(44);
ada.addExamScore(65);
ada.addExamScore(77);

Student alan = new Student("Alan", "Turing", 11);
alan.addExamScore(38);
alan.addExamScore(24);
alan.addExamScore(31);

// add students to classroom
c.addStudent(ada);
c.addStudent(alan);
c.printStudents();

Student topStudent = c.getTopStudent();
System.out.println(topStudent);
}
}

Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»