/
cod43
/
home_tasks
Обзор
Документация
Войти
/
cod43
/
home_tasks
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/task2/Student.java
98 строк
3 KB
cod43
first_commit
29 июл 2025, 19:46
29 июл 2025, 19:46
c3aa089
Код
Авторство
О чём код?
package task2; import java.util.Arrays; /** Класс хранит информацию о студенте: * имя * фамилию * последние 10 оценок: их может быть меньше 10, но не может быть больше * */ public class Student { private static final int MAX_GRADES_AMOUNT = 10; private String name; private String surname; /** Храним оценки в виде массива целых чисел: * - отсутствующие оценки хранятся в виде нулей * - поступающие оценки добавляются в конец */ private int[] grades = new int[MAX_GRADES_AMOUNT]; public Student(String name, String surname) { this.name = name; this.surname = surname; } /** Вычисляем среднюю оценку студента * Если оценок у него нет, тогда средняя оценка составляет 0 * */ public double getAverageGrade() { int gradesAmount = 0; int gradesSum = 0; // вычисляем сумму элементов и одновременной подсчитываем количество ненулевых оценок for (int grade: grades) { gradesSum += grade; if (grade > 0) gradesAmount++; } if (gradesAmount == 0) return 0; return (double) gradesSum / gradesAmount; } /** Добавляем оценку: для этого сдвигаем все оценки влево, удаляя нулевую оценку */ public void addGrade(int grade) { if (grade < 1 || grade > 5) throw new IllegalArgumentException("Оценка должна быть целым числом в диапазоне [1..5]"); for (int i = 0; i < grades.length - 1; i++) { grades[i] = grades[i + 1]; } grades[grades.length - 1] = grade; } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", surname='" + surname + '\'' + ", grades=" + Arrays.toString(grades) + '}'; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSurname() { return surname; } public void setSurname(String surname) { this.surname = surname; } public int[] getGrades() { return grades; } private void clearGrades() { Arrays.fill(grades, 0); } public void setGrades(int[] grades) { if (grades == null) return; if (grades.length > this.grades.length) throw new IllegalArgumentException("Количество оценок не может превышать 10"); for (int grade : grades) addGrade(grade); } }