Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Student;
- import java.util.HashMap;
- import java.util.Map;
- public class Student {
- private String name;
- private final Map<String,Integer> scores;
- private final double studentAverageScore;
- private final double grade;
- protected Student(String name , Map<String,Integer> scores, double studentAverageScore,double grade){
- this.name = name;
- this.scores = scores;
- this.studentAverageScore = studentAverageScore;
- this.grade = grade;
- }
- protected Student(){
- name = "";
- scores = new HashMap<>();
- studentAverageScore = 0.0;
- grade = 0;
- }
- protected String getName() {
- return name;
- }
- protected Map<String, Integer> getAllScores() {
- return new HashMap<>(scores);
- }
- protected double getGrade() {
- return grade;
- }
- protected double getStudentAverageScore() {
- return studentAverageScore;
- }
- }
- package Student;
- import java.util.HashMap;
- import java.util.Map;
- public class StudentDetails extends Student {
- private final double MAX_SCORE = 100D;
- private final double NUMBER_OF_SUBJECTS = 5;
- protected Map<String, Integer> getStudentScore() {
- Map<String,Integer> score = new HashMap<>();
- for (int i = 0; i < NUMBER_OF_SUBJECTS; i++) {
- score.put("Test " + i, (int) (Math.random() * MAX_SCORE) + 1);
- }
- return score;
- }
- protected double studentAverageScore() {
- double studentAverageScore = getStudentAverageScore();
- for (Map.Entry<String, Integer> entry : getStudentScore().entrySet()) {
- studentAverageScore += entry.getValue();
- }
- return studentAverageScore / NUMBER_OF_SUBJECTS;
- }
- protected double getStudentGrade() {
- double grade = getGrade();
- for (Map.Entry<String, Integer> entry : getStudentScore().entrySet()) {
- grade += entry.getValue();
- }
- return grade / MAX_SCORE;
- }
- }
- package Student;
- import java.util.ArrayList;
- public class App {
- private static final ArrayList<Student> studentArrayList = new ArrayList<>();
- public static void main(String[] args) {
- StudentDetails studentDetails = new StudentDetails();
- student("Q",studentDetails);
- student("W",studentDetails);
- student("E",studentDetails);
- student("R",studentDetails);
- for (Student s : studentArrayList) {
- System.out.printf("Student name %s | student scores %s | student average score %.2f | student grade %.2f \n", s.getName(), s.getAllScores(), s.getStudentAverageScore(), s.getGrade());
- }
- }
- private static void student(String name, StudentDetails studentDetails) {
- Student student = new Student(name, studentDetails.getStudentScore(), studentDetails.studentAverageScore(), studentDetails.getStudentGrade());
- studentArrayList.add(student);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment