Я все еще новичок в программировании и нуждаюсь в небольшом подталкивании в правильном направлении. Программа считывает из файла и вычисляет верхний балл, средний балл и удаляет дубликаты и т. Д. Затем добавляет свою оценку проекта до конца, оценки проектов «N» игнорируются, а другие добавляются к концу. Я добавлю текстовый файл в конце сообщения.Добавление классов проектов
Инструкции:
XcelStudent
XcelStudent расширяет Студента. XcelStudent имеет экземпляр String переменной projectGrade, который устанавливается конструктором XcelStudent: public XcelStudent (имя строки, int id, int totalGrades, String projectGrade) Этот конструктор должен вызвать конструктор суперкласса для создания экземпляров переменных экземпляра Student ,
Переопределить метод computeScore(). Он должен вызывать метод computeScore для учащихся , чтобы получить начальную оценку, а затем добавить соответствующее количество баллов для проекта: 1 для «C», 2 для «B» и 4 для «A», ,
Метод toString() должен вызывать метод toString от Student до получить начальную строку, а затем добавить «проект:» + projectGrade в .
Я считаю, что первая часть этого завершена, и я обнаружил четыре класса, но я не уверен, как добавить их в конец.
public class XcelStudent extends Student{
public String projectGrade;
public XcelStudent(String name, int id, int totalGrades, String norX) {
super(name, id, totalGrades);
int points;
if(norX.equals("C")){
projectGrade = "C";
//points = 1;
System.out.println(" project:" + projectGrade);
}
if(norX.equals("B")){
projectGrade = "B";
//points = 2;
System.out.println(" project:" + projectGrade);
}
if(norX.equals("A")){
projectGrade = "A";
//points = 4;
System.out.println(" project:" + projectGrade);
}
}
public static void main(String[] args) {
}
}
Текущий ToString и computeScore в моей Student.java
public String toString() {
String res = name + "\t" + id + " ";
for (int i=0; i < totalGrades; i++) {
res += " " + grades[i];
}
res += "\tscore: " + new DecimalFormat("0.00").format(computeScore());
return res;
}
@Override
public double computeScore() {
double total = 0;
if (numGrades == 0) {
return total;
}
if (numGrades > grades.length) {
numGrades = grades.length;
}
for (int i = 0; i < numGrades; i++) {
total += grades[i];
}
if (total > topscore){
topscore = total;
}
avgscore += total;
return total/grades.length;
}
Токовый выход: (я знаю его не отсортирован)
Course cs161: 5 grades
project:C
project:A
project:A
project:B
Top Score: 90.0
Avg Score: 76.16
Course: cs161
Adam 2143 85 95 85 75 65 score: 81.00
John 1243 60 70 80 55 55 score: 64.00
Mick 1324 70 60 70 80 90 score: 74.00
Ellen 2341 90 95 88 77 66 score: 83.20
Jim 1234 50 40 50 60 70 score: 54.00
Lena 1423 99 50 90 90 85 score: 82.80
Leila 1432 60 70 60 70 60 score: 64.00
Mike 1342 60 70 80 90 99 score: 79.80
Ada 2134 90 90 90 90 90 score: 90.00
Helen 2314 89 79 99 89 88 score: 88.80
Желаемый результат:
Course cs161: 5 grades
Top Score: 92.0
Avg Score: 77.26
Course: cs161
Jim 1234 50 40 50 60 70 score: 54.00
John 1243 60 70 80 55 55 score: 64.00
Mick 1324 70 60 70 80 90 score: 75.00 project: C
Mike 1342 60 70 80 90 99 score: 79.80
Lena 1423 99 50 90 90 85 score: 86.80 project: A
Leila 1432 60 70 60 70 60 score: 64.00
Ada 2134 90 90 90 90 90 score: 92.00 project: B
Adam 2143 85 95 85 75 65 score: 81.00
Helen 2314 89 79 99 89 88 score: 88.80
Ellen 2341 90 95 88 77 66 score: 87.20 project: A
Файл:
Adam 2143 N 85 95 85 75 65
adam2 2143 N 0 0 0 0 0
John 1243 N 60 70 80 55 55
John2 1243 N 0 0 0 0 0
Mick 1324 C 70 60 70 80 90
Ellen 2341 A 90 95 88 77 66
Jim 1234 N 50 40 50 60 70
Lena 1423 A 99 50 90 90 85
Leila 1432 N 60 70 60 70 60
Mike 1342 N 60 70 80 90 99
Ada 2134 B 90 90 90 90 90
Helen 2314 N 89 79 99 89 88
Спасибо за любую помощь!
Спасибо! Я внес изменения, и это сработало! – Damoclyes