code/JAVA

[JAVA] 성적처리 Has~a 관계

shallot 2017. 4. 20. 14:19

NAME CLASS


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Name {
 
    private String name;
 
    public Name() {
 
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}
  


SUBJECT CLASS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public class Subject {
 
    private int subject;
 
    public int getSubject() {
        return subject;
    }
 
    public void setSubject(int subject) {
        this.subject = subject;
    }
 
}
 

Score CLASS

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
 
public class Score {
 
    private Name name;
    private Subject kor;
    private Subject eng;
    private Subject mat;
    private int total;
    private float avg;
 
    public Score() {
        name = new Name();
        kor = new Subject();
        eng = new Subject();
        mat = new Subject();
        total = 0;
        avg = 0;
    }
 
    public void setName(String name) {
        this.name.setName(name);
    }
 
    public String getName() {
        return name.getName();
    }
 
    public void setKor(int kor) {
        this.kor.setSubject(kor);
    }
 
    public int getKor() {
        return kor.getSubject();
    }
 
    public void setEng(int eng) {
        this.eng.setSubject(eng);
    }
 
    public int getEng() {
        return eng.getSubject();
    }
 
    public void setMat(int mat) {
        this.mat.setSubject(mat);
    }
 
    public int getMat() {
        return mat.getSubject();
    }
 
    public void setTotal() {
        this.total = kor.getSubject() + eng.getSubject() + mat.getSubject();
    }
 
    public int getTotal() {
        return total;
    }
 
    public void setAvg() {
        this.avg = total / 3;
    }
 
    public float getAvg() {
        return avg;
    }
 
}
 


MAIN CLASS


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
import java.util.Scanner;
 
public class Student {
 
    private Score[] sco;
 
    public Student(int num) {
        sco = new Score[num];
        for (int i = 0; i < sco.length; i++)
            sco[i] = new Score();
    }
 
    public void setInput() {
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < sco.length; i++) {
            sco[i] = new Score();
            System.out.print("Name Input: ");
            sco[i].setName(sc.next());
            System.out.print("Kor Input: ");
            sco[i].setKor(sc.nextInt());
            System.out.print("Eng Input: ");
            sco[i].setEng(sc.nextInt());
            System.out.print("Mat Input: ");
            sco[i].setMat(sc.nextInt());
            sco[i].setTotal();
            sco[i].setAvg();
        }
 
    }
 
    public void output() {
        for (int i = 0; i < sco.length; i++) {
            System.out.println(sco[i].getName() + "\t" + sco[i].getKor() + "\t" + sco[i].getEng() + "\t"
                    + sco[i].getMat() + "\t" + sco[i].getTotal() + "\t" + sco[i].getAvg());
        }
    }
 
    public static void main(String[] ar) {
        int num;
        Scanner sc = new Scanner(System.in);
 
        System.out.print("Member Input: ");
        num = sc.nextInt();
        Student stu = new Student(num);
 
        stu.setInput();
        System.out.println("Name"+"\t"+"Kor"+"\t"+"Eng"+"\t"+"Mat"+"\t"+"Total"+"\t"+"Avg");
        stu.output();
 
    }
 
}