ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JAVA - 자바 메모리 구조와 static - 연습문제
    JAVA 2024. 1. 6. 12:17
    728x90

    문제. 1 - 구매한 자동차 수

    다음 코드를 참고해서 생성한 차량 수를 출력하는 프로그램을 작성하기.

    public class CarMain {
        public static void main(String[] args) {
            Car car1 = new Car("K3");
            Car car2 = new Car("G80");
            Car car3 = new Car("Model Y");
    
            Car.showTotalCars();
        }
    }

    여기선 showTotalCars() 메서드에 구매한 차량수를 출력해주게 코드를 짜면 된다.

    public class Car {
        private String name;
        private static int totalCars;
    
        public Car(String name) {
            this.name = name;
            totalCars++;
            System.out.println("차량 구입, 이름 : " + name);
        }
        public static void showTotalCars() {
            System.out.println("구매한 차량 수 : " + totalCars);
        }
    }

    문제. 2 - 수학 유틸리티 클래스

    다음 기능을 제공하는 배열용 수학 유틸리티 클래스(MathArrayUtils)를 만들기.

    • sum(int[] array) : 배열의 모든 요소를 더하여 합계를 반환
    • average(int[] array) : 배열의 모든 요소의 평균값을 계산
    • min(int[] array) : 배열의 최고값 구하기
    • max(int[] array) : 배열의 최대값 구하기
    • MathArrayUtils은 객체를 생성하지 않고 사용해야 한다. 누군가 실수로 MathArrayUtils의 인스턴스를 생성하지 못하게 막아야함.
    • 실행 코드에 import static을 사용하기.
    public class MathArrayUtils {
        private MathArrayUtils() {
            // private으로 인스턴스 만들어지는 것을 막아버리기.
        }
    
        public static int sum(int[] array) {
            int sum = 0;
            for (int i : array) {
                sum += i;
            }
            return sum;
        }
    
        public static double average(int[] array) {
            return (double) sum(array) / array.length;
        }
    
        public static int min(int[] array) {
            int min = array[0];
            for (int i : array) {
                if (min >= i) {
                    min = i;
                }
            }
            return min;
        }
    
        public static int max(int[] array) {
            int max = array[0];
            for (int i : array) {
                if (max <= i) {
                    max = i;
                }
            }
            return max;
        }
    }
    import static static2.ex.MathArrayUtils.*;
    
    public class MathArrayUtilsMain {
        public static void main(String[] args) {
            int[] values = {1, 2, 3, 4, 5};
            System.out.println("MathArrayUtils.sum(values) = " + sum(values));
            System.out.println("MathArrayUtils.average() = " + average(values));
            System.out.println("MathArrayUtils.min(values) = " + min(values));
            System.out.println("MathArrayUtils.max(values) = " + max(values));
        }
    }

     

    'JAVA' 카테고리의 다른 글

    JAVA - 상속  (2) 2024.01.09
    JAVA - final  (1) 2024.01.08
    JAVA - 자바 메모리 구조와 static  (1) 2024.01.06
    JAVA - 접근제어자 연습문제  (1) 2024.01.04
    JAVA - 접근 제어자  (1) 2024.01.04
Designed by Tistory.