728x90
반응형
- 성적처리 프로그램을 만드는 것입니다. 총점계산, 반등수, 전교등수, 반, 번호별 정렬을 다룹니다.
[문제1] 다음의 예제에서 Student클래스를 작성하세요.
코드를 완성하세요.
1. 이름(name), 반(classNo), 번호(studentNo),
국어(Korean), 수학(Math), 영어(English), 총점(Total)을
인스턴스변수로 선언한다.
2. 이름, 반, 번호, 국어, 수학, 영어를 입력받아서 각 인스턴스변수에 저장하는
생성자를 선언한다.
3. Object클래스의 toString()을 오버라이딩해서 실행결과와 같이,
이름, 반, 번호, 국어, 수학, 영어, 총점이 화면에 출력되도록 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
package testAl;
import java.util.ArrayList;
import java.util.List;
public class SungJukEx1 {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
//이름, 반, 번호, 국어, 수학, 영어
list.add(new Student("남궁성", 3,2,100,100,100));
list.add(new Student("왕자바", 3,1,90,100,80));
list.add(new Student("자바왕", 3,3,70,100,100));
list.add(new Student("킹왕짱", 1,2,100,60,90));
list.add(new Student("자바짱", 1,1,100,100,100));
list.add(new Student("최고수", 1,3,100,80,60));
list.add(new Student("홍길동", 2,1,50,80,100));
list.add(new Student("일지매", 2,3,70,80,100));
list.add(new Student("변강쇠", 2,4,80,80,85));
list.add(new Student("이원구", 2,2,90,90,90));
printList(list);
}
public static void printList(List<Student> list) {
System.out.println("이름\t반\t번호\t국어\t수학\t영어\t총점 ");
System.out.println("====================================================");
for(Student s : list) {
System.out.println(s);
}
System.out.println("====================================================");
}
}
class Student {
// 1. 이름(name), 반(classNo), 번호(studentNo),
// 국어(Korean), 수학(Math), 영어(English), 총점(Total)을
// 인스턴스변수로 선언한다.
public String name;
public int classNO;
int studentNo;
int Korean;
int Math;
int English;
int total;
public Student() {
toString();
}
public Student(String name, int classNo, int studentNo, int Korean, int Math, int English) {
// 2. 이름, 반, 번호, 국어, 수학, 영어를 입력받아서 각 인스턴스변수에 저장하는 생성자를 선언한다.
this.name = name;
this.classNO = classNo;
this.studentNo = studentNo;
this.Korean = Korean;
this.Math = Math;
this.English = English;
this.total = Korean + Math + English;
}
// 3. Object클래스의 toString()을 오버라이딩해서 실행결과와 같이,
// 이름, 반, 번호, 국어, 수학, 영어, 총점이 화면에 출력되도록 한다.
@Override
public String toString() {
return String.format("%s\t %d\t %d\t %d\t %d\t %d\t %d\t",
this.name, this.classNO, this.studentNo, this.Korean,
this.Math, this.English, this.total);
}
}
|
cs |
[실행 결과]
// - toString()
// 이라는 메소드는 Object클레스의 메소드로써
// 모든 클레스는 Object클레스의 자식입니다.
// toString메소드는 기본적으로 생략도 가능해서
// 지금 저기서 Object클레스의 toString을 재정의(오버라이딩)를 해서
// Strudent객체에서 toString()메소드가 자동 호출되는겁니다.
// 뒤에도 .toString()써도 에러없이 똑같은 결과가 나올거에요
// toString();
728x90
반응형
'알고리즘 > 남궁성 자바 1000제' 카테고리의 다른 글
[Java1000제] 성적처리 4 - 전교등수 계산 (0) | 2021.03.02 |
---|---|
[Java1000제] 성적처리 3 - Comparator를 이용한 정렬 (0) | 2021.02.12 |
[Java1000제] 성적처리 2 - Comparable구현하기 (0) | 2021.02.07 |