Есть такой вот код, в условиях задачи сказано: Display the average and total rating of all student.
То есть нужно вывести средний и общий бал всех студентов. Число студентов будет произвольным, дополнительных полей класса создавать нельзя.
Подскажите, как присвоить переменной avgRating средний рейтинг всех студентов? А также посчитать общий рейтинг.
import java.util.Scanner;
/**
* Created by golov on 12.10.2017.
*/
public class ExampleStudents {
public static void main(String[] args) {
Student student = new Student("Andrew",4.3);
System.out.println(student);
}
}
class Student {
private String name;
private double rating;
static double avgRating;
public void setName(String name) {
this.name = name;
}
public void setRating(double rating) {
this.rating = rating;
}
public String getName() {
return name;
}
public double getRating() {
return rating;
}
public Student(){
}
public Student(String name, double rating) {
this.name = name;
this.rating = rating;
}
//definite the better student (between two, return true or false)
public boolean betterStudent (Student student1, Student student2){
if (student1.getRating()>student2.getRating()){
return true;
} else {
return false;
}
}
@Override
public String toString() {
return "Student [Name = "+getName()+", rating "+getRating()+"]";
}
//change the rating of student
void changeRating(){
Scanner scanner = new Scanner(System.in);
System.out.println("Enter rating of the student: ");
setRating(scanner.nextDouble());
}
}
Тебе не обязательно хранить переменную среднего рейтинга в классе студента, лучше вынеси её в другой класс или функцию. Далее просто в цикле перебери всех студентов, возьми их рейтинг, и посчитай средний балл. Далее присвой его в переменную avgRating. Если так надо, то просто создай setAvgRating
и туда передавай эту переменную. Ну и в том же цикле складывай в другую переменную весь рейтинг и получишь total rating of all student.
Student[] arr = new Student[3];
arr[0].setName();
arr[0].setRating();
arr[1].setName();
arr[1].setRating();
arr[2].setName();
arr[2].setRating();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i].toString());
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Вообще никак нельзя определить, что приложение декомпилируетсяДекомпилятор работает с кодом как с потоком байтов, а не исполняемой сущностью
Добрый деньРаньше interface не имеел реализации и нам приходилось реализовывать абстрактные классы тд и тп