자바의 클래스를 이용하여 다음과 같이 클래스를 나눠 학점, 평균 구하라.


학생

-------------

이름

학번

국어점수

국어학점

수학점수

수학학점

총점

평균

---------------

생성자(이름 학번)

국어점수수학점수입력

학점계산

총점평균계산

이름학번출력

국어(점수,학점)수학(점수,학점)출력

총점평균출력

---------------


1) 상속을 위한 학생 이름, 학번이 들어간 슈퍼클래스

package class_test01; // 상속을 위한 학생 이름, 학번이 들어간 슈퍼클래스

public class Student_Idcard {   

String name;// 이름

String studentNo; //학번

int score[] = new int[4]; // 점수 배열

Student_Idcard(String name, String studentNo, int score[]){ // 생성자

this.name = name;

this.studentNo = studentNo;

this.score= score;

}


Student_Idcard(String name, String studentNo){ 

// testExample1에서 점수는 input으로 받으므로 2개만 불러들일 생성자

this.name = name;

this.studentNo = studentNo;

}

}


---------------------------------------------------------------------------------------------

2) 슈퍼클래스를 상속하여 학생의 학점, 총점, 평균 계산하는 클래스

package class_test01;

import java.util.Scanner;

public class StudentInfo extends Student_Idcard {

// 학생 이름, 학번, 점수는 슈퍼클래스에서 상속

char grade[] = new char[4]; // 학점 배열

int total, average; // 총점, 평균


StudentInfo(String name, String studentNo, int score[]) {

super(name, studentNo, score); // 슈퍼클래스의 생성자 상속

}

StudentInfo(String name, String studentNo) {

super(name, studentNo); // 슈퍼클래스의 생성자 상속

}


void input() { // 국어점수, 수학점수 입력 메소드

Scanner in = new Scanner(System.in);

System.out.printf("국어점수:");

score[0] = in.nextInt();

System.out.printf("수학점수:");

score[1] = in.nextInt();

System.out.printf("영어점수:");

score[2] = in.nextInt();

System.out.printf("과학점수:");

score[3] = in.nextInt();

}

void Getgrade() { // 학점 계산 메소드

for(int i=0;i<score.length;i++) {

if( score[i] >= 90 ) grade[i] = 'A';

else if( score[i] >= 80 ) grade[i] = 'B';

else if( score[i] >= 70 ) grade[i] = 'C';

else if( score[i] >= 60 ) grade[i] = 'D';

else grade[i] = 'F';

// if의 결과로 배열변수가 사라지지 않으므로 return 값은 없어도 됨

}

}

int getTotal() { // 총점 계산 메소드

for (int i = 0; i < score.length; i++)

total += score[i];

return total;

}

int getAverage() { // 평균 계산 메소드

average = total / score.length;

return average;

}


void prn() { // 출력 메소드

Getgrade(); // 메소드는 이렇게 호출해주지 않으면 작동 안함!!

getTotal(); 

getAverage();

System.out.println("이름:" + name);

System.out.println("학번:" + studentNo);

System.out.println("국어점수:" + score[0] + " 학점=" + grade[0] + "학점");

System.out.println("수학점수:" + score[1] + " 학점=" + grade[1] + "학점");

System.out.println("영어점수:" + score[1] + " 학점=" + grade[2] + "학점");

System.out.println("과학점수:" + score[1] + " 학점=" + grade[3] + "학점");

System.out.println("총점:" + total + " 평균=" + average);

}

}


-----------------------------------------------------
3) 실행 프로그램

package class_test01;  // 실행 클래스

public class testExample1 {

public static void main(String[] args) {


StudentInfo obj1 = new StudentInfo("고길동", "1515-6001");

StudentInfo obj2 = new StudentInfo("김둘리", "1623-6542");

obj1.input();

obj1.prn();

obj2.input();

obj2.prn();

}

}


--------------------------------------------------






Posted by netyhobby
,