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;
	}


}
반응형