A) 입력된 숫자의 합과 입력 숫자 중 최대값을 구하는 Num 라는 이름의 클래스를 만들어라. 이 클래스는 add(int n) 라는 메소드를 가지고 있고, 이 함수가 호출될 때마다 매개변수n 의 값이 합에 누적된다.
B) 이 클래스는 getSum() 과 getMax() 라는 메소드를 가지는데, 이 메소드는 더해진 숫자의 합 반환, 현재까지 더해진 숫자 중 최대값을 반환한다. Num 클래스를 사용하는 main()은 다음과 같다.
public static void main(String[] args) {
Num nb = new Num();
nb.add(7); nb.add(-1); nb.add(20); nb.add(5); // 4개 숫자를 입력
System.out.println("Sum = " + nb.getSum()); // 4개 숫자의 합계
System.out.println("Max = " + nb.getMax()); // 4개 숫자 중 최대값
}
//실행 결과) Sum=31
// Max=20
C) 위에 있는 Num 클래스에 두 개의 생성자를 추가하라. 파리미터가 없는 생성자와 하나의 파라미터를 가진 생성자를 만들어 파라미터가 없는 생성자는 초기값(n)이 0 이 되도록 하며, 정수값 n 을 파라미터로 가지는 생성자는 필드에 값을 초기화해라. 그 후 main함수에서 다시 객체 하나 생성하여 getSum(), getMax() 함수를 오버로딩해라.
더보기
전체코드
class Num03 {
int num3;
int max3;
int sum3=0;
Num03(){
num3=0;
}
Num03(int n){
this.num3=n;
sum3+=n;
if(max3 < n) {
max3 = n;
}
}
Num03(int n, int m){
this.num3=n;
sum3 =sum3+n+m;
if(n < m) {
n = m;
if(max3 < n) {
max3 = n;
}
}
}
void add(int n) {
this.num3=n;
if(max3 < n) {
max3 = n;
}
sum3+=n;
}
int getSum(){
return sum3;
}
int getMax() {
return max3;
}
}
public class JavaTest03 {
public static void main(String[] args) {
Num03 nb = new Num03();
nb.add(7); nb.add(-1); nb.add(20); nb.add(5);
System.out.println("3. Sum = "+ nb.getSum());
System.out.println("3. Max = "+ nb.getMax());
//3-C
Num03 nb1 = new Num03();
nb1.add(10);
nb1.add(20);
System.out.println("3-1. Sum = "+ nb1.getSum());
System.out.println("3-1. Max ="+ nb1.getMax());
Num03 nb2 = new Num03(8);
System.out.println("3-2. Sum = "+ nb2.getSum());
System.out.println("3-2. Max ="+ nb2.getMax());
Num03 nb3 = new Num03(8, 10);
System.out.println("3-3. Sum = "+ nb3.getSum());
System.out.println("3-3. Max ="+ nb3.getMax());
}
}
728x90
728x90
'문제풀이' 카테고리의 다른 글
Daily Coding Problem: Problem #65 [Easy] (0) | 2023.03.22 |
---|---|
정보처리기사 실기 정리 (0) | 2022.07.20 |
사원 정보 입력과 검색 구현 (0) | 2022.06.13 |
GUI - HashMap을 이용한 단어 입력, 검색 구현 (0) | 2022.06.08 |
이름에 해당하는 id 맞추기 게임 (0) | 2022.06.08 |