ArrayList를 활용한 간단한 성적 산출 프로그램

일상 코딩·2022년 8월 9일
post-thumbnail

01.예제 시나리오

  • 1001학번 Lee1002학번 Kim, 두 학생이 있습니다.
  • Lee 학생은 국어와 수학 2과목을 수강했고, Kim 학생은 국어, 수학, 영어 3과목을 수강하였습니다.
  • Lee 학생은 국어 100점, 수학 50점입니다.
  • Kim 학생은 국어 70점, 수학 85점, 영어 100점입니다.
  • StudentSubject 클래스를 만들고 ArrayList를 활용하여 두 학생의 과목 성적과 총점을 출력하세요

02.Subject 클래스

package ch24;

public class Subject {
	private String name;
	private int scorePoint;
	
	public Subject(String name, int scorePoint) {
		this.name = name;
		this.scorePoint = scorePoint;
	}
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public int getScorePoint() {
		return scorePoint;
	}
	
	public void setScorePoint(int scorePoint) {
		this.scorePoint = scorePoint;
	}	
}

03.Student 클래스

package ch24;

import java.util.ArrayList;

public class Student {
	int studentId;
	String studentName;
	
	ArrayList<Subject> subjectList;
	
	Student(int studentId, String studentName) {
		this.studentId = studentId;
		this.studentName = studentName;
		
		subjectList = new ArrayList<>();
	}
	
	public void addSubject(String name, int scorePoint) {
		subjectList.add(new Subject(name, scorePoint));
	}
	
	public void showScoreInfo() {
		int total = 0;
		
		for(Subject subject : subjectList) {
			total += subject.getScorePoint();
			System.out.println(studentName + "학생의" + subject.getName() + "과목의 성적은" + subject.getScorePoint() + "입니다.");
		}
		System.out.println(studentName + "학생의 총점은 " + total + "점 입니다.");
	}
}

04.실행하기

package ch24;

public class StudentSubjectTest {

	public static void main(String[] args) {
		
		Student studentLee = new Student(1001, "Lee");
		Student studentKim = new Student(1002, "Kim");
		
		studentLee.addSubject("국어", 100);
		studentLee.addSubject("수학", 50);
		
		studentKim.addSubject("국어", 70);
		studentKim.addSubject("수학", 85);
		studentKim.addSubject("영어", 100);
		
		studentLee.showScoreInfo();
		System.out.println("==================");	
		studentKim.showScoreInfo();		
	}
}

출력 결과

profile
일취월장(日就月將) - 「날마다 달마다 성장하고 발전한다.」

0개의 댓글