Files
HackerRank-Solutions/General Programming/Object-oriented Programming/Inheritance/Solution.java
T

88 lines
2.4 KiB
Java
Raw Normal View History

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());
}
}