2017-09-18 09:16:14 -07:00
|
|
|
// Author: Rodney Shaghoulian
|
2018-07-27 16:45:56 -07:00
|
|
|
// Github: github.com/RodneyShag
|
|
|
|
|
// HackerRank: hackerrank.com/RodneyShag
|
2017-09-18 09:16:14 -07:00
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
class Person {
|
|
|
|
|
protected String firstName;
|
|
|
|
|
protected String lastName;
|
|
|
|
|
protected int idNumber;
|
|
|
|
|
|
|
|
|
|
// Constructor
|
|
|
|
|
Person(String firstName, String lastName, int identification) {
|
|
|
|
|
this.firstName = firstName;
|
|
|
|
|
this.lastName = lastName;
|
|
|
|
|
this.idNumber = identification;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Print person data
|
|
|
|
|
public void printPerson() {
|
|
|
|
|
System.out.println(
|
|
|
|
|
"Name: " + lastName + ", " + firstName
|
|
|
|
|
+ "\nID: " + idNumber);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Student extends Person {
|
|
|
|
|
private int[] testScores;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Class Constructor
|
|
|
|
|
*
|
|
|
|
|
* @param firstName - A string denoting the Person's first name.
|
|
|
|
|
* @param lastName - A string denoting the Person's last name.
|
|
|
|
|
* @param id - An integer denoting the Person's ID number.
|
|
|
|
|
* @param scores - An array of integers denoting the Person's test scores.
|
|
|
|
|
*/
|
|
|
|
|
public Student(String firstName, String lastName, int id, int [] scores) {
|
|
|
|
|
super(firstName, lastName, id);
|
|
|
|
|
testScores = scores;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Method Name: calculate
|
|
|
|
|
* @return A character denoting the grade.
|
|
|
|
|
*/
|
|
|
|
|
public char calculate() {
|
|
|
|
|
double average = 0;
|
|
|
|
|
for (int score : testScores) {
|
|
|
|
|
average += score;
|
|
|
|
|
}
|
|
|
|
|
average /= testScores.length;
|
|
|
|
|
|
|
|
|
|
if (average >= 90) {
|
|
|
|
|
return 'O';
|
|
|
|
|
} else if (average >= 80) {
|
|
|
|
|
return 'E';
|
|
|
|
|
} else if (average >= 70) {
|
|
|
|
|
return 'A';
|
|
|
|
|
} else if (average >= 55) {
|
|
|
|
|
return 'P';
|
|
|
|
|
} else if (average >= 40) {
|
|
|
|
|
return 'D';
|
|
|
|
|
} else {
|
|
|
|
|
return 'T';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class Solution {
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
Scanner scan = new Scanner(System.in);
|
|
|
|
|
String firstName = scan.next();
|
|
|
|
|
String lastName = scan.next();
|
|
|
|
|
int id = scan.nextInt();
|
|
|
|
|
int numScores = scan.nextInt();
|
|
|
|
|
int[] testScores = new int[numScores];
|
|
|
|
|
for (int i = 0; i < numScores; i++) {
|
|
|
|
|
testScores[i] = scan.nextInt();
|
|
|
|
|
}
|
|
|
|
|
scan.close();
|
|
|
|
|
|
|
|
|
|
Student s = new Student(firstName, lastName, id, testScores);
|
|
|
|
|
s.printPerson();
|
|
|
|
|
System.out.println("Grade: " + s.calculate());
|
|
|
|
|
}
|
|
|
|
|
}
|