Найти тему
DEBAGanov

Java 561. Имея список учеников, как узнать имя и процент каждого ученика?

Предположим, что у нас есть класс Student, который содержит поля name, score и totalScore. Поле score содержит баллы, которые получил ученик, а поле totalScore содержит максимальное количество баллов, которое можно получить. Для того чтобы узнать имя и процент каждого ученика, можно использовать метод map() для преобразования объектов Student в строки, которые содержат имя и процент.

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Student {
private String name;
private int score;
private int totalScore;

public Student(String name, int score, int totalScore) {
this.name = name;
this.score = score;
this.totalScore = totalScore;
}

public String getName() {
return name;
}

public int getScore() {
return score;
}

public int getTotalScore() {
return totalScore;
}
}

public class Main {
public static void main(String[] args) {
List<Student> students = Arrays.asList(
new Student("Alice", 70, 100),
new Student("Bob", 50, 80),
new Student("Charlie", 80, 90),
new Student("David", 65, 70)
);

List<String> studentInfo =
students.stream()
.map(s -> s.getName() + ": " + (s.getScore() * 100 / s.getTotalScore()) + "%")
.collect(Collectors.toList());

System.out.println("Student info: " + studentInfo);
}
}

В этом примере мы создаем список students, содержащий объекты класса Student, заполняем его данными и затем используем метод map() для преобразования каждого объекта Student в строку, которая содержит имя ученика и его процент (рассчитанный как отношение полученных баллов к максимальному количеству баллов). Результатом является список строк, содержащих информацию обо всех учениках.

Затем мы выводим этот список в консоль.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov