JAVA
190703 class 생성자 get set
猫猫
2019. 7. 3. 16:11
반응형
package prj190703;
public class Student_1 {
private int math , eng, kor,total;
private float avg;
private char grade;
private String name;
//생성자(인수 3개)
Student_1(int a, int b, int c){
math = a;
eng = b;
kor = c;
}
//setter
public void setMath(int math) {
this.math = math;
}
public void setEng(int eng) {
this.eng = eng;
}
public void setKor(int kor) {
this.kor = kor;
}
public void setTotal(int total) {
this.total = total;
}
public void setAvg(float avg) {
this.avg = avg;
}
public void setGrade(char grade) {
this.grade = grade;
}
public void setName(String name) {
this.name = name;
}
//getter
public int getMath() {
return math;
}
public int getEng() {
return eng;
}
public int getKor() {
return kor;
}
public int getTotal() {
return total;
}
public float getAvg() {
return avg;
}
public char getGrade() {
return grade;
}
public String getName() {
return name;
}
}
package prj190703;
import java.util.*;
public class Class_2 {
public static void main(String[] args) {
//생성자로 초기화
Student_1 s = new Student_1(70,80,90);
System.out.println("기본 생성자만 가져온 경우: " + s.getMath()+" " + s.getEng() + " " + s.getKor());
Scanner scan = new Scanner(System.in);
System.out.print("국어? > ");
s.setKor(scan.nextInt());
System.out.print("영어? > ");
s.setEng(scan.nextInt());
System.out.print("수학? > ");
s.setMath(scan.nextInt());
System.out.print("이름? > ");
s.setName(scan.next());
// //setter로 값 set
// s.setEng(70);
// s.setKor(90);
// s.setMath(80);
//get으로 값 가져와서 합
s.setTotal(sum(s.getMath(),s.getEng(), s.getKor()));
int to = s.getTotal();
float avg = (float) to/3;
s.setAvg(avg);
s.setGrade( grade(s.getAvg()));
System.out.println("setter로 변경 한 경우: " + s.getMath()+" " + s.getEng() + " " + s.getKor());
System.out.println("이름 : " + s.getName() + " 합계 : " + to + " 평균 : "+ (int) s.getAvg()+ " 등급: " + s.getGrade());
}
//인자 3개 함수
static int sum (int a, int b, int c) { // 함수는 static을 잊지말자
int total = a+b+c;
return total;
}
static char grade(float a) {
char c = ' ';
if(a>=90 && a<=100) c = 'A' ;
else if( a>=80 ) c = 'B';
else if( a >= 70) c= 'C';
else if(a>=60) c= 'D';
else c = 'F';
return c;
}
}
반응형