본문 바로가기
알고리즘/남궁성 자바 1000제

[Java1000제] 성적처리 1 - Student클래스 만들기

by Love of fate 2021. 2. 6.
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();

 

SungJukEx1.java
0.00MB

728x90
반응형