728x90
반응형
문제)
아래는 Student 클래스를 호출하여 객체를 생성 후 필드에 값을 입력하여 아래와 같이 출력을 한 프로그램이다.
학생의 성적은 과제 점수와 시험 점수로 이루어진다. 총점에 과제 점수와 시험 점수의 반영률은 각각 40%와 60%이다. Student 클래스를 작성해보시오.
결과)
이름 : 선남
과제 점수 : 91
시험 점수 : 84
학점 : B
이름 : 선녀
과제 점수 : 86
시험 점수 : 95
학점 : A
정답 코드)
public class Student { String name; int assignmentsScore; int examScore; char grade; public String toString(){ String str = "" ; int score = (int)(this.assignmentsScore * 0.4 + this.examScore * 0.6) / 10; switch(score) { case 9 : this.grade = 'A'; break; case 8 : this.grade = 'B'; break; case 7 : this.grade = 'C'; break; case 6 : this.grade = 'D'; break; default : this.grade = 'F'; break; } str += "이름 : " + this.name + "\n과제 점수 : " + assignmentsScore + "\n시험 점수 :" + this.examScore + "\n학점 : " + this.grade + "\n"; return str; } }
public class StudentDriver { public static void main(String[] args) { Student stud1 = new Student(); stud1.name = "선남"; stud1.assignmentsScore = 91; stud1.examScore = 84; System.out.println(stud1.toString()); Student stud2 = new Student(); stud2.name = "선녀"; stud2.assignmentsScore = 86; stud2.examScore = 95; System.out.println(stud2.toString()); } }
추가 코드(Student class 변경)
public class Student { String name; int assignmentsScore; int examScore; public char getGrade() { int score = (int)(this.assignmentsScore*0.4 + this.examScore*0.6)/10; char grade; switch(score) { case 9 : grade = 'A'; break; case 8 : grade = 'B'; break; case 7 : grade = 'C'; break; case 6 : grade = 'D'; break; default : grade = 'F'; break; } return grade; } public String toString(){ String str = "" ; str += "이름 : " + this.name + "\n"; str += "과제 점수 : " + this.assignmentsScore + "\n"; str += "시험 점수 : " + this.examScore + "\n"; str += "학점 : " + getGrade() + "\n"; return str; } }
728x90
반응형
'BackEnd > Java' 카테고리의 다른 글
[java] 이것이 자바다 ch06 클래스 (0) | 2023.01.11 |
---|---|
[java] package jar 파일 만들기 (export/import) (0) | 2023.01.11 |
[java] 이것이 자바다 ch05 확인 문제(array) (0) | 2023.01.10 |
[java] 이것이 자바다 ch05 배열 타입 (1) | 2023.01.10 |
[java] 배열을 이용한 추가 연습문제3(array) (1) | 2023.01.10 |