|
| 1 | +import java.util.Scanner |
| 2 | + |
| 3 | +open class Person(var firstName: String, var lastName: String, var idNumber: Int) { |
| 4 | + fun printPerson() { |
| 5 | + println("Name: $lastName, $firstName\nID: $idNumber") |
| 6 | + } |
| 7 | +} |
| 8 | + |
| 9 | +class Student(firstName: String, lastName: String, identification: Int, private val testScores: IntArray) : |
| 10 | + Person(firstName, lastName, identification) { |
| 11 | + |
| 12 | + fun calculate(): Char { |
| 13 | + var total = 0 |
| 14 | + |
| 15 | + for (testScore in testScores) total += testScore |
| 16 | + |
| 17 | + val avg = total / testScores.size |
| 18 | + |
| 19 | + if (avg in 90..100) return 'O' |
| 20 | + if (avg in 80..89) return 'E' |
| 21 | + if (avg in 70..79) return 'A' |
| 22 | + if (avg in 55..69) return 'P' |
| 23 | + return if (avg in 40..54) 'D' else 'T' |
| 24 | + } |
| 25 | +} |
| 26 | + |
| 27 | +fun main(args: Array<String>) { |
| 28 | + val scan = Scanner(System.`in`) |
| 29 | + val firstName = scan.next() |
| 30 | + val lastName = scan.next() |
| 31 | + val id = scan.nextInt() |
| 32 | + val numScores = scan.nextInt() |
| 33 | + val testScores = IntArray(numScores) |
| 34 | + for (i in 0 until numScores) { |
| 35 | + testScores[i] = scan.nextInt() |
| 36 | + } |
| 37 | + scan.close() |
| 38 | + |
| 39 | + val s = Student(firstName, lastName, id, testScores) |
| 40 | + s.printPerson() |
| 41 | + println("Grade: " + s.calculate()) |
| 42 | +} |
0 commit comments