본문 바로가기
언어/JAVA

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

by step 1 2021. 4. 17.
반응형

예제

1001학번 Lee와 1002학번 kim, 두 학생이 있습니다

Lee 학생은 국어와 수학 2과목을 수강했고, kim 학생은 국어, 수학, 영어 3과목을 수강하였습니다

Lee 학생은 국어 100점, 수학 50점입니다

kim 학생은 국어 70점, 수학 80점, 영어 100점입니다.

Student와 Subject 클래스를 만들고 ArrayList를 활용하여 두 학생의 과목 성적과 총점을 출력하세요

 

package ch24;

import java.util.ArrayList;



public class Student {

	int studentId;
	String studentName;

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

 

package ch24;

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;
	}
	
	
}

 

package ch24;

public class StudentTest {

	public static void main(String[] args) {

		Student studentLee = new Student(1001, "Lee");

		studentLee.addSubject("국어", 100);
		studentLee.addSubject("수학", 50);

		Student studentKim = new Student(1002, "Kim");

		studentKim.addSubject("국어", 70);
		studentKim.addSubject("수학", 85);
		studentKim.addSubject("영어", 100);
		
		studentLee.showScoreInfo();
		System.out.println("=========================");
		studentKim.showScoreInfo();
	}
}

 

결과

반응형

'언어 > JAVA' 카테고리의 다른 글

상속에서 클래스 생성 과정과 형 변환  (0) 2021.04.17
객체 간 상속의 의미  (0) 2021.04.17
ArrayList  (0) 2021.04.16
2차원 배열 사용하기  (0) 2021.04.16
객체 배열  (0) 2021.04.16