Java ArrayList를 활용한 간단한 성적 산출 프로그램
시나리오
- 1001번 Lee와 1002학번 Kim, 두 학생이 있다.
- Lee 학생은 국어와 수학 2과목을 수강했고 Kim 학생은 국어, 수학, 영어 3과목을 수강했다.
- Lee 학생은 국어 100점, 수학 50점이다.
- Kim 학생은 국어 70점, 수학 85점, 영어 100점이다.
- Student와 Subject 클래스를 만들고 ArrayList를 활용하여 두 학생의 과목 성적과 총점을 출력하라.
Subject.java
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;
}
}
Student.java
import java.util.ArrayList;
public class Student {
int studentId;
String studentName;
ArrayList<Subject> subjectList;
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();
subject.setName(name);
subject.setScorePoint(score);
subjectList.add(subject);
}
public void showStudentInfo() {
int total = 0;
for (Subject subject : subjectList) {
total += subject.getScorePoint();
System.out.println("학생" + studentName + "의 " + subject.getName() + "과목 성적은" + subject.getScorePoint() + "입니다.");
}
System.out.println("학생" + studentName + " 의 총점은" + total + "입니다.");
}
}
StudentTest.java
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.showStudentInfo();
System.out.println("============================");
studentKim.showStudentInfo();
}
}
결과
학생Lee의 국어과목 성적은100입니다.
학생Lee의 수학과목 성적은50입니다.
학생Lee 의 총점은150입니다.
============================
학생Kim의 국어과목 성적은70입니다.
학생Kim의 수학과목 성적은85입니다.
학생Kim의 영어과목 성적은100입니다.
학생Kim 의 총점은255입니다.
Leave a comment