대충벌레 블로그
article thumbnail
728x90
반응형

클래스 정의 ex)  학생

속성

 

  • 이름
  • 학번
  • 중간고사 성적
  • 기말고사 성적
  • 출석 점수
  • 리포트 점수
  • 합계
  • 학점

기능

 

  • 점수 입력
  • 합계 계산
  • 학점 부여
  • 결과 출력

Human 클래스

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;
 
public class Human { //Human 클래스
    public String name;
    public String id;
    
    public void input() {
        Scanner in = new Scanner(System.in);
        System.out.print("이름을 입력하세요 ");
        name = in.next();
        System.out.print("번호를 입력하세요 ");
        id = in.next();
    }
}
cs

 

Student 클래스

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
import java.util.Scanner;
 
public class Student extends Human{
//    private String name;  Human 클래스에서 상속받았으므로 없어도 됨.
//    private String sID;
    
    private int mid;
    private int fin;
    private int att;
    private int rep;
    
    private int sum;
    private String grade;
    @Override
    public void input() {
        Scanner in = new Scanner(System.in);
        System.out.print("이름을 입력하세요 ");
        name = in.next();
        System.out.print("학번을 입력하세요 ");
        id = in.next();
        System.out.print("중간고사 점수를 입력하세요 ");
        mid = in.nextInt();
        System.out.print("기말고사 점수를 입력하세요 ");
        fin = in.nextInt();
        System.out.print("출석 점수를 입력하세요 ");
        att = in.nextInt();
        System.out.print("레포트 점수를 입력하세요 ");
        rep = in.nextInt();    
    }
    public void calc() {  //점수 계산
        sum = (int)(mid*0.3+ (int)(fin*0.3+ att + rep;
    }
    public void setGrade() { //학점 계산
        if (sum >= 95)
            grade = "A+";
        else if (sum >= 90)
            grade = "A";
        else if (sum >= 85)
            grade = "B+";
        else if (sum >= 80)
            grade = "B";
        else if (sum >= 75)
            grade = "C+";
        else if (sum >= 70)
            grade = "C";
        else if (sum >= 65)
            grade = "D+";
        else if (sum >= 60)
            grade = "D";
        else
            grade = "F";        
    }
    @Override
    public String toString() {
        return "Student [이름=" + name + ", 학번=" + id + ", 중간고사=" + mid + ", 기말고사=" + fin + ", 출석=" + att + ", 레포트="
                + rep + ", 점수=" + sum + ", 학점=" + grade + "]";
    }    
}
cs

 

 

테스트해볼 main 클래스가 필요합니다.

1
2
3
4
5
6
7
8
9
public class StudentTest {
    public static void main(String[] args) {
        Student s1 = new Student();
        s1.input();
        s1.calc();
        s1.setGrade();
        System.out.println(s1.toString());
    }
}
cs

 

 

Student 클래스 객체 생성 후 출력해본다.

input() : 값을 입력받는  메서드

calc() : 점수를 계산하는 메서드

setGrade() : 학점 계산하는 메서드

 

실행 결과

 

반응형
profile

대충벌레 블로그

@대충벌레

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!