JUST GO

[Java] TEST5 본문

Java/TEST

[Java] TEST5

root_go 2022. 10. 19. 11:17

1. ‘MathExt’ 클래스를 만드세요.

  1. 해당 클래스는 명시적으로 객체화할 수 없어야 합니다. (new 불가)  
  2. // private MathExt(){ }

2. <1>에서 만든 클래스에 아래 내용을 담는 메서드를 만드세요.

  • 접근 제한자가 public 이고 정적이며 반환 타입이 int 인 메서드 ‘sum’ 은 전달 받은 그 개수가 정해지지 않은 정수의 합을 반환한다.
  • 단, 정수 두 개는 확정적으로 전달 받아야 한다.
  • 호출 예

- 컴파일 오류 예

  • 오버로딩하지 말 것.
  • 정수인 매개변수의 개수는 두 개 이상이고 그 개수는 제한되어 있지 않다.

 

3. <1>에서 만든 클래스에 아래 내용을 담는 메서드를 만드세요.

  • 접근 제한자가 public 이고 정적이며 반환 타입이 int인 메서드 ‘max’는 전달 받은 그 개수가 정해지지 않은 정수 중 가장 큰 값을 반환합니다.
  • 단, 정수 두 개는 확정적으로 전달 받아야 합니다.
  • 호출 예

- 컴파일 오류 예

  • 오버로딩하지 마세요.
  • 정수인 매개변수의 개수는 두 개 이상이고 그 개수는 제한되어 있지 않습니다.

4. 가장 작은 값을 반환하는 ‘min’ 메서드를 만드세요.

 

5. 전달된 값의 평균인 double 타입의 값을 반환하는 ‘avg’ 메서드를 만드세요.

public class MathExt {

    public static void main(String[] args) {
        System.out.println(MathExt.sum(9, 9, 9, 9, 9, 9));
        System.out.println(MathExt.max(2, 4));
        System.out.println(MathExt.max(-16, -4, -999));
        System.out.println(MathExt.avg(1, 3, 5, 7, 9));
    }

    public static int sum(int a, int b, int... nums) {
        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        return sum;
    }
    public static int max(int a, int b, int...nums) {
        int max = Math.max(a, b);
        for (int num : nums){
            if (max < num){
                max = num;
            }
        }
        return max;
    }
    public static int min(int a, int b, int...nums){
        int min = Math.min(a, b);
        for(int num : nums){
            if(min > num){
                min = num;
            }
        }
        return min;
    }
    public static double avg(int a, int b, int...nums){
        double sum = a + b;
        for (int num : nums) {
            sum += num;
        }
        return sum / (nums.length + 2);
    }
    private MathExt(){
    }
}

 

'Java > TEST' 카테고리의 다른 글

[Java] TEST7  (0) 2022.10.20
[Java] TEST6  (0) 2022.10.20
[Java] TEST4  (0) 2022.10.19
[Java] TEST3  (0) 2022.10.19
[Java] TEST2  (0) 2022.10.13