gwooden_코린이
java_오버로딩 합계/평균 점수 구하기_221128(6일차) 본문
728x90
- 오버로딩 기능 활용용 코드
이름이 동일한 함수를 여러개 만드는건 해당 풀이에서는 안됨
메서드명은 같지만 매개변수를 다르게 해주는건 가능
avg <-- 매서드명은 같지만 () <--괄호안에 있는 매개변수를 다르게 해줘야 가능
package 스코어;
import java.util.Scanner;
public class StudentMain {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//생성자
//2개의 객체 생성
Student stu1 = new Student(100, 80, 90);
Student stu2 = new Student();
//sut2.math = 라고 생각하면 된다.
//main 변수에서 사용할 단순 변수를 선언한거
int stu1_sum, stu2_sum;
double stu1_avg, stu2_avg;
System.out.print("정수를 입력하세요 : ");
int math = sc.nextInt();
int kor = sc.nextInt();
int eng = sc.nextInt();
stu1_sum = stu1.sum();
stu2_sum = stu2.sum(math, kor, eng); //Student 클래스로 위에서 입력한 3가지 값을 넘겨준다.
stu1_avg = stu1.avg();
stu2_avg = stu2.avg(math, kor, eng);
System.out.println("학생1의 합계 : " + stu1_sum + " 평균 : "+ stu1_avg);
System.out.println("학생1의 합계 : " + stu2_sum + " 평균 : "+ stu2_avg);
}
}
결과값 정수를 입력하세요 : 70 50 60 학생1의 합계 : 270 평균 : 90.0 학생1의 합계 : 180 평균 : 60.0 |
package 스코어;
//오버로딩 활용
public class Student {
//math, kor, eng 정수형 클래스 변수
//합계구하는 메서드(반환타입 : int)
//평균구하는 메서드(반환타입 : double)
//stu1에 대한 점수 값
//객체 변수를 의미함
int math;
int kor;
int eng;
//생성자
Student() { //매개 변수가 없는게 실행이 되고
}
public Student(int math, int kor, int eng) { //매개 변수 있는게 실행이 되기 위해 매개 변수 받게끔 처리
super();
this.math = math;
this.kor = kor;
this.eng = eng;
}
// 합계 구하는 메서드 생성
public int sum() { //sut1에 대한 합계, 기본 값이 포함되어 있음
//객체 변수를 의미함
return math + kor + eng; //3가지 점수를 더해서 리턴 시켜라
}
public int sum(int math, int kor, int eng) { //stu2에 대한 합계 stu2는 지정된 값이 없음
return math + kor + eng; //3가지 점수를 더해서 리턴 시켜라 //바로 위에 대한 객체변수
}
// 평균 구하는 메서드 생성
public double avg() {
return (math+kor+eng) / 3.0;
}
public double avg(int math, int kor, int eng) {
return (math + kor + eng) / 3.0;
}
}
package 스코어;
public class StudentMain {
public static void main(String[] args) {
// 객체를 넣을 수 있는 배열을 생성한것
Student[] students = new Student[3];
int i; //증감식 변수
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();
}
}
}
package 스코어;
import java.util.Scanner;
public class Student {
//math, kor, eng 정수형 클래스 변수
//합계구하는 메서드(반환타입 : int)
//평균구하는 메서드(반환타입 : double)
//stu1에 대한 점수 값
//객체 변수를 의미함
int math;
int kor;
int eng;
int sum;
double avg;
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);
}
}
package 스코어;
public class StudentMain {
public static void main(String[] args) {
// 객체를 넣을 수 있는 배열을 생성한것
Student[] students = new Student[3];
int i; //증감식 변수
int max = 0;
int min = 500;
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].sum>max)
max = students[i].sum;
if(students[i].sum<min)
min = students[i].sum;
}
System.out.println("가장 큰값 : " + max + " 가장 작은 값 : " + min);
}
}
결과값 1번째 학생 점수를 3개 입력하세요 : 10 60 80 2번째 학생 점수를 3개 입력하세요 : 60 80 90 3번째 학생 점수를 3개 입력하세요 : 70 60 20 1번째 학생 합계 : 150평균 : 50.0 2번째 학생 합계 : 230평균 : 76.66666666666667 3번째 학생 합계 : 150평균 : 50.0 가장 큰값 : 230 가장 작은 값 : 150 |
package 스코어;
import java.util.Scanner;
public class Student {
//math, kor, eng 정수형 클래스 변수
//합계구하는 메서드(반환타입 : int)
//평균구하는 메서드(반환타입 : double)
//stu1에 대한 점수 값
//객체 변수를 의미함
int math;
int kor;
int eng;
int sum;
double avg;
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);
}
}
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].sum > max) {
max = students[i].sum;
maxIdx = i + 1;
}
if(students[i].sum < min) {
min = students[i].sum;
minIdx = i + 1;
}
}
System.out.println("가장 큰값 : " + max + "번째 학생에 " +" 가장 작은 값 : " + min);
System.out.println(maxIdx + "번째 학생이 1등");
System.out.println(minIdx + "번째 학생이 꼴등");
}
}
결과값 1번째 학생 점수를 3개 입력하세요 : 50 70 90 2번째 학생 점수를 3개 입력하세요 : 60 50 40 3번째 학생 점수를 3개 입력하세요 : 30 50 70 1번째 학생 합계 : 210평균 : 70.0 2번째 학생 합계 : 150평균 : 50.0 3번째 학생 합계 : 150평균 : 50.0 가장 큰값 : 210번째 학생에 가장 작은 값 : 150 1번째 학생이 1등 2번째 학생이 꼴등 |
package 스코어;
import java.util.Scanner;
public class Student {
//math, kor, eng 정수형 클래스 변수
//합계구하는 메서드(반환타입 : int)
//평균구하는 메서드(반환타입 : double)
//stu1에 대한 점수 값
//객체 변수를 의미함
int math;
int kor;
int eng;
int sum;
double avg;
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
'java > 6일차' 카테고리의 다른 글
java_상속_221128(6일차) (0) | 2022.11.28 |
---|---|
java_캡슐화_221128(6일차) (0) | 2022.11.28 |
java_메서드 호출 최대/최소값 구하기_221128(6일차) (0) | 2022.11.28 |
java_Static_221128(6일차) (0) | 2022.11.28 |
java_싱글톤_221128(6일차) (0) | 2022.11.28 |
Comments