JAVA Programming

[29] ArrayList 을 이용하여 학생의 수강과목 학점 출력하기

꾸준히개발하자 2020. 7. 15. 08:28

 

학생의 수강과목 학점 출력하기

 

Subject 과목 클래스 

package array;

public class Subject { // 참조 자료형 클래스
	
	private String name; 
	private int score;
	
	
	public Subject(String name, int score) {
		this.name = name;
		this.score = score;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}	
}

 

 

Student 클래스 

과목추가 addSubject 메소드

총점이랑 각 과목의 점수 showStudentInfo() 메소드  

package array;

import java.util.ArrayList;

public class Student {
	
	int studentID;
	String studentName;
	
	ArrayList<Subject> subjectList;  // 학생마다 듣는 과목이 다르니까 ArrayList로 관리한다.
	
	public Student(int studentID , String studentName) {
		this.studentID = studentID;
		this.studentName = studentName;
		
		subjectList = new ArrayList<Subject>();
	}
	// 한명한명이 어떤 과목을 수강하는지 할때마다 추가한다.
	public void addSubject(String name , int score) {
		Subject subject = new Subject(name,score); // Subject 객체를 만들고나서 하나하나 추가해준다.
		
		subjectList.add(subject);
		
	}
	// 총점이랑 각 과목의 점수
	public void showStudentInfo() {
		int total = 0;
		
		for(Subject subject : subjectList) {
			total += subject.getScore();
			System.out.println(studentName + "학생의" + subject.getName() + " 과목의 성적은 " + subject.getScore() +"입니다." );
		}
		System.out.println(studentName + "학생의 총점은" + total + "점 입니다.");
	}
}

 

학생마다 과목과 점수를 추가한다. 

package array;

public class StudentTest {
	public static void main(String[] args) {
		
		Student studentLee = new Student(1001,"Lee");
		Student studentKim = new Student(1002,"Kim");
		
		studentLee.addSubject("국어", 100);
		studentLee.addSubject("수학", 90);
		
		studentKim.addSubject("국어", 100);
		studentKim.addSubject("수학", 85);
		studentKim.addSubject("수학", 80);
		
		studentLee.showStudentInfo();
		System.out.println("===================================");
		studentKim.showStudentInfo();
	}
}