Vanilla_Fury

laba_4_1_java_Student

Feb 24th, 2021
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.88 KB | None | 0 0
  1. package com.company;
  2.  
  3. public class Student implements Comparable {
  4.  
  5.     private String surname, groupNumber;
  6.     private short gradeMath, gradePhys, gradeProgramming, gradeEngGraph;
  7.     public static String whatWeSort = "GroupNumber";
  8.  
  9.     public Student(String groupNumber, String surname, short gradeMath, short gradePhys, short gradeProgramming, short gradeEngGraph) {
  10.         this.surname = surname;
  11.         this.groupNumber = groupNumber;
  12.         this.gradeMath = gradeMath;
  13.         this.gradePhys = gradePhys;
  14.         this.gradeProgramming = gradeProgramming;
  15.         this.gradeEngGraph = gradeEngGraph;
  16.     }
  17.  
  18.     // getters/setters
  19.  
  20.     public String getSurname() {
  21.         return surname;
  22.     }
  23.  
  24.     public String getGroupNumber() {
  25.         return groupNumber;
  26.     }
  27.  
  28.     public short getGradeMath() {
  29.         return gradeMath;
  30.     }
  31.  
  32.     public short getGradePhys() {
  33.         return gradePhys;
  34.     }
  35.  
  36.     public short getGradeProgramming() {
  37.         return gradeProgramming;
  38.     }
  39.  
  40.     public short getGradeEngGraph() {
  41.         return gradeEngGraph;
  42.     }
  43.  
  44.     public String getAllInfo() {
  45.         return (groupNumber + (groupNumber.equals("") ? "" : " ") + surname + " " + gradeMath +
  46.             " " + gradePhys + " " + gradeProgramming + " " + gradeEngGraph).replaceAll("\\b0\\b", "-");
  47.     }
  48.  
  49.     public String getGroupNumberForSorting() {
  50.         return groupNumber.equals("") ? "}" : groupNumber;
  51.     }
  52.  
  53.     public float getAverageScoreForSorting() {
  54.         float averageScore = 0;
  55.         short divider = 0;
  56.         if (gradeMath > 0) {divider++;}
  57.         if (gradePhys > 0) {divider++;}
  58.         if (gradeProgramming > 0) {divider++;}
  59.         if (gradeEngGraph > 0) {divider++;}
  60.  
  61.         if (divider > 0) {
  62.             averageScore = (float) (gradeMath + gradePhys + gradeProgramming + gradeEngGraph) / divider;
  63.         }
  64.         return averageScore < 1 ? 11 : averageScore;
  65.     }
  66.  
  67.     public void setSurname(String surname) {
  68.         this.surname = surname;
  69.     }
  70.  
  71.     public void setGroupNumber(String groupNumber) {
  72.         this.groupNumber = groupNumber;
  73.     }
  74.  
  75.     public void setGradeMath(short gradeMath) {
  76.         this.gradeMath = gradeMath;
  77.     }
  78.  
  79.     public void setGradePhys(short gradePhys) {
  80.         this.gradePhys = gradePhys;
  81.     }
  82.  
  83.     public void setGradeProgramming(short gradeProgramming) {
  84.         this.gradeProgramming = gradeProgramming;
  85.     }
  86.  
  87.     public void setGradeEngGraph(short gradeEngGraph) {
  88.         this.gradeEngGraph = gradeEngGraph;
  89.     }
  90.  
  91.     public int compareTo(Object o) {
  92.         if (whatWeSort.equalsIgnoreCase("GroupNumber"))
  93.             return Integer.parseInt(groupNumber) - Integer.parseInt(((Student) o).groupNumber);
  94.         else if (whatWeSort.equalsIgnoreCase("Surname"))
  95.             return surname.compareToIgnoreCase(((Student) o).surname);
  96.         else
  97.             return 0;
  98.     }
  99.  
  100. }
  101.  
Advertisement
Add Comment
Please, Sign In to add comment