상속예제
다음 조건을 만족하도록 클래스 Person과 Student를 작성하시오.
- 클래스 Person
* 필드 : 이름, 나이, 주소 선언
- 클래스 Student
* 필드 : 학교명, 학과, 학번, 8개 평균평점을 저장할 배열로 선언
* 생성자 : 학교명, 학과, 학번 지정
* 메소드 average() : 8개 학기 평균평점의 평균을 반환
- 클래스 Person과 Student
- 프로그램 테스트 프로그램의 결과 : 8개 학기의 평균평점은 표준입력으로 받도록한다.
이름 : 김다정
나이 : 20
주소 : 서울시 관악구
학교 : 동양서울대학교
학과 : 전산정보학과
학번 : 20132222
----------------------------------------
8학기 학점을 순서대로 입력하세요
1학기 학점 → 3.37
2학기 학점 → 3.89
3학기 학점 → 4.35
4학기 학점 → 3.76
5학기 학점 → 3.89
6학기 학점 → 4.26
7학기 학점 → 4.89
8학기 학점 → 3.89
----------------------------------------
8학기 총 평균 평점은 4.0375점입니다.
import java.util.Scanner;
public class Blog {
public static void main(String[] args) {
Person s = new Student("김다정", "20", "서울시 관악구", "동양서울대학교", "전산정보학과", "20132222");
System.out.println("이름 : " + s.name);
System.out.println("나이 : " + s.age);
System.out.println("주소 : " + s.address);
System.out.println("학교 : " + ((Student) s).school);
System.out.println("학과 : " + ((Student) s).program);
System.out.println("학번 : " + ((Student) s).admission);
System.out.println("----------------------------------------");
System.out.println("8학기 학점을 순서대로 입력하세요");
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 8; i++) {
((Student) s).averages[i] = sc.nextDouble();
System.out.println(i + 1 + "학기 학점 → " + ((Student) s).averages[i]);
}
System.out.println("----------------------------------------");
System.out.println("8학기 총 평균 평점은 " + ((Student) s).average() + "점입니다.");
}
}
class Person {
String name, age, address;
Person(String name, String age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
}
class Student extends Person {
String school, program, admission;
double[] averages;
Student(String name, String age, String address, String school, String program, String admission) {
super(name, age, address);
this.school = school;
this.program = program;
this.admission = admission;
this.averages = new double[8];
}
double average() {
double sum = 0;
for (int i = 0; i < averages.length; i++) {
sum += averages[i];
}
return sum / averages.length;
}
}
댓글
댓글 쓰기