각진 세상에 둥근 춤을 추자

[Java] ArrayList - 학생 성적 출력 프로그램 본문

Java

[Java] ArrayList - 학생 성적 출력 프로그램

circle.j 2022. 9. 19. 12:13

Student 클래스와 Subject 클래스 그리고 ArrayList를 사용해 학생 성적 출력 프로그램을 구현해 본다.

 

 

 

 

(1) Student 클래스 구현하기

 

package ch07_4;

import java.util.ArrayList;

public class Student {
	
	int studentID;
	String studentName;
	
	// ArrayList 선언하기
	ArrayList<Subject> subjectList;
	
	public Student(int studentID, String studentName) {
		this.studentID = studentID;
		this.studentName = studentName;
		// ArrayList 생성하기
		subjectList = new ArrayList<Subject>();
	}
	
	// 학생이 수강하는 과목을 subjecList 배열에 하나씩 추가하는 메서드
	public void addSubject(String name, int score) {
		Subject subject = new Subject(); // Subject 생성하기
		subject.setName(name); // 과목 이름 추가하기
		subject.setScorePoint(score); // 점수 추가하기
		subjectList.add(subject); // 배열 저장하기
	}
	
	public void show() {
		int total = 0;
		
		// 배열 요소 값 출력
		for (Subject s : subjectList) {
			total += s.getScorePoint(); // 총점 더하기
			System.out.println("학생 " + studentName+ "의 "+s.getName()+" 과목 성적은 "+ s.getScorePoint()+" 입니다.");
		}
		
	}
	
}

 

(2) Subject 클래스 구현하기 

package ch07_4;

public class Subject {
	
	private String name; // 과목 이름
	private int 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;
	}
	
}

 

(3) 학생 성적 출력하는 테스트 클래스 구현하기

package ch07_4;

public class StudentTest {
	public static void main(String[] args) {
		
		Student stuCarina = new Student(1001, "Carina");
		stuCarina.addSubject("국어", 100);
		stuCarina.addSubject("수학", 50);
		
		Student stuJustus = new Student(1001, "Carina");
		stuJustus.addSubject("국어", 100);
		stuJustus.addSubject("수학", 50);
		stuJustus.addSubject("영어", 100);
		
		stuCarina.show();
		System.out.println("---------------------------------");
		stuJustus.show();
	}
}

'Java' 카테고리의 다른 글

[Java] 메소드 오버라이딩  (0) 2022.09.19
[Java] 상속 - 고객 관리 프로그램  (0) 2022.09.19
[Java] ArrayList 클래스 사용하기  (0) 2022.09.19
[Java] 다차원 배열  (0) 2022.09.19
[Java] 향상된 for문 사용하기  (0) 2022.09.19