1. 각 반의 정원은 30명이다
2. 프로그래밍 반 학생들은 각자의 국어, 영어, 수학, 프로그래밍 언어, 알고리즘, 자료구조 점수가 있다
2-1 (네트워크반은 국어 영어만 동일하고 과목이다름. => 만드는 법 프로그래밍반과 동일하여 생략)
3. 모든학생의 점수와 이름을 랜덤으로 생성한다
학번은 중복없이중복 없이 순차적으로 생성되어야 한다 (또는 중복 없이 랜덤도 가능)
4. 성적표 매서드를 통해 각 학생의 이름/총점/평균점수를 볼 수 있어야 한다
메인에서는 메서드를 가져오는 코드만 있다. (코드의 가독성을 높이고, 깔끔하게 보이기 위해서)
한 반당 정원이 30명이기 때문에,
반복문을 school.length 까지만 돌리고 school 배열 안에 인덱스 순서대로 학생을 넣는다
그리고 그 학생들의 성적표를 출력하는 printGradeCard 매서드를 불러온다
----------------------------------------------------------------------------------------------------------------------
프로그래밍 반은 첫번째로 학생을 상속받아 만든다 (학생은 아래에 첨부되어 있다)
그리고 프로그래밍 반에 과목은 (공통과목 : 국어 / 영어)에 추가적으로 수학 / 프로그래밍 / 알고리즘 / 데이터베이스 가 있다
모든 과목에 랜덤으로 점수를 주는 매서드인 generateRandomScore를 입력받는다
그리고 총합과 평균을 출력해주는 메서드 => getSum() / getAverage() 를 만든다
마지막으로, 성적표를 출력해주는 printGradeCard 매서드를 만들고 그에 맞는 값들을 프린트해준다
----------------------------------------------------------------------------------------------------------------------
학생 클래스에는,
과목당 최대 점수는 100점이기 때문에
final 값으로 MAX_SCORE를 100으로 지정해주었다
그리고 이름도 랜덤으로 가져와야 하기 때문에, 두개의 배열로 나누어서 랜덤으로 하나씩 골라
합치는 메서드 generateRandomName을 만들어주고
점수를 랜덤으로 뽑아주는 generateRandomScore 메서드도 또한 만들어주었다
그리고 생성자를 만들어 공통으로 들어가는 변수
이름 / 국어점수 / 영어점수를 등록해주었다
결과적으로 메인에서 학생들을 만들고 메서드들을 돌려주면
30명의 성적표가 나오고
그 안에 각 과목의 점수와 총합 / 평균을 출력할 수 있었다
'TIL > Java' 카테고리의 다른 글
Java 주민등록번호 유효성 체크 (0) | 2021.08.04 |
---|---|
Java 핸드폰번호 유효성 체크 (0) | 2021.08.03 |
Java 섯다 게임 구현하기 (1) | 2021.08.03 |
Java Yacht dice game 구현하기 (0) | 2021.08.03 |
Java 로또만들기 정답버전 (0) | 2021.08.03 |