gwooden_코린이

java_캡슐화_221128(6일차) 본문

java/6일차

java_캡슐화_221128(6일차)

gwooden22 2022. 11. 28. 14:09
728x90
package 스코어;

public class StudentMain {

	public static void main(String[] args) {

//       객체를 넣을 수 있는 배열을 생성한것
		Student[] students = new Student[3];
		
		int i; //증감식 변수
		int max = 0;
		int min = 500;
		int maxIdx = 0, minIdx = 0;
		
		for(i=0; i<students.length; i++) {
			students[i] = new Student(); //메서드 호출
			
			System.out.println(i + 1 + "번째 학생");
			students[i].setScore();
			
			students[i].sum();
			students[i].avg();
			
			
		}
	
		
			for(i=0; i<students.length; i++) {
				System.out.println(i + 1 + "번째 학생");
				students[i].showResult();
		

			}
			
			//3명 중 가장 큰 합계 가장 작은 값 출력
			
			for(i=0; i<students.length; i++) {
				if(students[i].getSum() > max)  {
					max = students[i].getSum();
					maxIdx = i + 1;
				}
				if(students[i].getSum() < min) {
					min = students[i].getSum();
					minIdx = i + 1;
				}
			}
			
			System.out.println("가장 큰값 : " + max + "번째 학생에 " +" 가장 작은 값 : " + min);
			
			System.out.println(maxIdx + "번째 학생이 1등");
			System.out.println(minIdx + "번째 학생이 꼴등");
	}
	

}
package 스코어;

import java.util.Scanner;

public class Student {
	
	//math, kor, eng 정수형 클래스 변수
	
	//합계구하는 메서드(반환타입 : int)
	//평균구하는 메서드(반환타입 : double)
	
	
	//stu1에 대한 점수 값
	//객체 변수를 의미함
	private int math;
	private int kor;
	private int eng;
	private int sum;
	private double avg;
	
	public int getSum() { //얻어오는 메서드는 get으로
	
		return sum;
	
	}
	

	Scanner sc = new Scanner(System.in);
	
	//생성자
	Student() { //매개 변수가 없는게 실행이 되고
		
	}

	public Student(int math, int kor, int eng) { //매개 변수 있는게 실행이 되기 위해 매개 변수 받게끔 처리
		super();
		this.math = math;
		this.kor = kor;
		this.eng = eng;
	}
	
		// 합계 구하는 메서드 생성

	public void sum() { //해당 클래스 내부에서 값을 구할거니 메서드는 리턴할게 없어 void 사용
		//객체 변수를 의미함
		sum = math + kor + eng; //math + kor + eng를 sum에 대입
	}
	
	
		// 평균 구하는 메서드 생성
	
	public void avg() { 
		avg = (math+kor+eng) / 3.0;
	}
	

	
	public void setScore() {
		System.out.print("점수를 3개 입력하세요 : ");
		math = sc.nextInt();
		kor = sc.nextInt();
		eng = sc.nextInt();

	}
	
	public void showResult() {
		System.out.println("합계 : " + sum + "평균 : " + avg);
	}
	

}
728x90
Comments