본문 바로가기
자바과정/Java

Java 실습(한사람 성적처리:메소드, 생성자) - 4일차

by Parkej 2021. 2. 2.
/*
 * 성적처리프로그램
 * 입력 : 이름, 국, 영, 수
 * 연산 : 총점, 평균
 * 출력 : 이름, 국, 영, 수, 총, 평
 */
import java.util.Scanner;
public class arrayExam01 {

	private String name;
	private int []score; //= new int[4];//국 영 수 총
	private float avg;

	public arrayExam01() {
		name = "";
		score = new int[4];
		avg = 1.f;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public void setScore(int kor, int eng, int math) {
		score[0] = kor;
		score[1] = eng;
		score[2] = math;
//		score[3] = tot;
	}
	
	public void setAvg(float data) {
		avg = data;
	}

	public String getName() {
		return name;
	}
	public int[] getScore() {
		return score;
	}
	public float getAvg() {
		return avg = score[3]/3.0f;
	}
	
	public int getTotal() { //총점
		for(int i=0;i<score.length-1;i++) {
			score[3] += score[i];
		}
		return score[3];
	}
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); // 객체선언
		arrayExam01 ae = new arrayExam01();
		
		System.out.print("이름 입력 : ");
		ae.setName(sc.next());
		
		System.out.print("성적 입력(국 영 수) : ");
		int a=sc.nextInt();
		int b=sc.nextInt();
		int c=sc.nextInt();
		
		ae.setScore(a,b,c);
		
		ae.getScore()[3] = ae.getTotal();
		
		// 출력
		System.out.println(ae.getName());
		for(int i=0;i<ae.getScore().length;i++) {
			System.out.println(ae.getScore()[i]);
		}
//		System.out.println(ae.getTotal());
		System.out.println(ae.getAvg());

	}

}

 

 

--- 강사님 코드

public class teacherClass {
	// field
	private String name; //이름
	private int kor;
	private int eng;
	private int mat;
	private int total;
	// private int [] score;
	private float avg;
	// constructor
	public teacherClass() {

	}
	public teacherClass(String n, int k, int e, int m) {
		name = n;
		kor = k;
		eng = e;
		mat = m;
		total = kor+eng+mat;
		avg= total/3.f;
	}

	// method
	// setter
	public void setName(String n) {
		name = n;
	}
	public void setKor(int k) {
		kor = k;
	}
	public void setEng(int e) {
		eng = e;
	}
	public void setMat(int m) {
		mat = m;
	}
	// getter
	public String getName() {
		return name;
	}
	public int getKor() {
		return kor;
	}
	public int getEng() {
		return eng;
	}
	public int getMat() {
		return mat;
	}
	public int getTotal() {
		return total = kor+eng+mat;
	}
	public float getAvg() {
		return avg = getTotal()/3.f;
	}
	
	public static void main(String[] args) {

		teacherClass tc = new teacherClass();
		
		tc.setName("pej");
		tc.setKor(10);
		tc.setEng(20);
		tc.setMat(30);
		
		System.out.println(tc.getName());
		System.out.println(tc.getKor());
		System.out.println(tc.getEng());
		System.out.println(tc.getMat());
		System.out.println(tc.getTotal());
		System.out.println(tc.getAvg());
	}

}

 

 

--- 복습 코드
/*
 * 성적처리프로그램
 * 입력 : 이름, 국, 영, 수
 * 연산 : 총점, 평균
 * 출력 : 이름, 국, 영, 수, 총, 평
 */
import java.util.Scanner;
public class ArrayNew {

	private String name;
	private int []score; //= new int[4];//국 영 수 총
	private float avg;

	public ArrayNew() {
		name = "";
		score = new int[4];
		avg = 1.f;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public void setScore(int i, int score) {
		this.score[i] = score;
	}
	
	public void setAvg(float data) {
		avg = data;
	}
	
	public void seTotal(int score) { // 총점 
		// 출력할때 getScore에서 마지막 인덱스를 쓰기 위함임.
		this.score[3] += score;
	}

	public String getName() {
		return name;
	}
	public int[] getScore() {
		return score;
	}
	public float getAvg() {
		return avg = score[3]/3.0f;
	}
	

	
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in); // 객체선언
		ArrayNew ae = new ArrayNew();
		
		System.out.print("이름 입력 : ");
		ae.setName(sc.next());
		for(int i=0;i<ae.getScore().length-1;i++) {
			System.out.print("성적 입력(국 영 수) : ");
			ae.setScore(i,sc.nextInt());
			ae.seTotal(ae.getScore()[i]);
		}
		// 출력
		System.out.println(ae.getName());
		for(int i=0;i<ae.getScore().length;i++) {
			System.out.println(ae.getScore()[i]);
		}
		//System.out.println(ae.getTotal());
		System.out.println(ae.getAvg());

	}

}
반응형

댓글