본 글은 본인 대학교와 비트교육센터가 진행한 SW몰입형 수업에서
실습한 내용을 중심으로 작성한 글입니다.
SW 몰입형 수업 #5.
학생의 명 수와 각 학생의 정보(이름, 국어점수, 영어점수, 수학점수)를 입력하면마지막에 각 학생들의 정보를 출력시켜주는 프로그램
(1) Name Class학생 이름을 다루는 클래스
class Name{
private String name; //학생 이름
public String getName() {
return name;
}
public void setName(String n) {
this.name = n;
}
}
(2) SubList Class
학생 성적을 다루는 클래스
class SubList{
private int score; //점수
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
(3) Score Class
각 학생의 정보를 관리하는 클래스
class Score{
private Name name; //이름
private SubList kor; //국어
private SubList eng; //영어
private SubList mat; //수학
private int score4; //총점
private float avg; //평균
public Score() {
name = new Name();
kor = new SubList();
eng = new SubList();
mat = new SubList();
}
public int getScore4() { //총점 계산
return score4 = getKorScore() + getEngScore() + getMatScore();
}
public float getAverage() { //평균 계산
return avg = (float)score4/3;
}
// name클래스의 이름 setter, getter 이용
public void setName(String n) {
name.setName(n);
}
public String getName() {
return name.getName();
}
// ScList 클래스의 과목별 점수 setter, getter 이용
public int getKorScore() {
return kor.getScore();
}
public void setKorScore(int score) {
kor.setScore(score);
}
public int getEngScore() {
return eng.getScore();
}
public void setEngScore(int score) {
eng.setScore(score);;
}
public int getMatScore() {
return mat.getScore();
}
public void setMatScore(int score) {
mat.setScore(score);;
}
}
(4) Main Class
main Method가 포함된 클래스
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("몇 명의 성적을 입력하시겠습니까?");
int stuNum = sc.nextInt(); // 인원 수 받기
Score []score = new Score[stuNum]; // n명의 정보를 받을 배열선언
// n명의 수만큼 정보 입력받음
for(int i = 0; i < stuNum; i++) {
score[i] = new Score(); //객체 선언
System.out.println("이름을 입력하시오 : ");
score[i].setName(sc.next());
System.out.println("국어 점수 : ");
score[i].setKorScore(sc.nextInt());
System.out.println("수학 점수 : ");
score[i].setEngScore(sc.nextInt());
System.out.println("영어 점수 : ");
score[i].setMatScore(sc.nextInt());
}
// n명의 수만큼 정보와 결과 출력함
for(int i = 0; i < stuNum; i++) {
System.out.println("이름 : " + score[i].getName() + ", 국어 : " + score[i].getKorScore()+ ", 수학 : " + score[i].getEngScore()+ ", 영어 : " + score[i].getMatScore());
System.out.println("총점 : " + score[i].getScore4() + ", 평균 : " + score[i].getAverage());
}
}
}

'코딩테스트 > 프로그래밍 예제 풀이' 카테고리의 다른 글
| [Java] 스택, 큐 프로그램 (동적바인딩 사용) (0) | 2023.07.23 |
|---|---|
| [Java] Inner Class 종류 (0) | 2023.07.23 |
| [Java] 별 모양 문제 (0) | 2023.07.23 |
| [Java] 반복문 예제 풀이 (2문제) (0) | 2023.07.22 |
| [Java] 사칙연산 계산기 - 반복문 사용 (do-while) (0) | 2023.07.22 |