다음 코드를 참고해서 생성한 차량 수를 출력하는 프로그램을 작성하자.
Car
클래스를 작성하자.
package static2.ex;
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(); // 구매한 차량 수를 출력하는 static 메서드
}
}
package static2.ex;
public class Car {
private static int totalCars;
private String name;
public Car(String name) {
System.out.println("차량 구입, 이름: " + name);
this.name = name;
totalCars++;
}
public static void showTotalCars() {
System.out.println("구매한 차량 수: " + totalCars);
}
}
다음 기능을 제공하는 배열용 수학 유틸리티 클래스(MathArrayUtils
)를 만드세요.
sum(int[] array)
: 배열의 모든 요소를 더하여 합계를 반환합니다.average(int[] array)
: 배열의 모든 요소의 평균값을 계산합니다.min(int[] array)
: 배열에서 최소값을 찾습니다.max(int[] array)
: 배열에서 최대값을 찾습니다.MathArrayUtils
은 객체를 생성하지 않고 사용해야 합니다. 누군가 실수로 MathArrayUtils
의 인스턴스를 생성하지 못하게 막으세요.static import
를 사용해도 됩니다.package static2.ex;
import static static2.ex.MathArrayUtils.*;
public class MathArrayUtilsMain {
public static void main(String[] args) {
int[] values = {1, 2, 3, 4, 5};
System.out.println("sum= " + sum(values));
System.out.println("average= " + average(values));
System.out.println("min= " + min(values));
System.out.println("max= " + max(values));
}
}
package static2.ex;
public class MathArrayUtils {
private MathArrayUtils() {
// private -> 인스턴스 생성을 막는다.
}
public static int sum(int[] values) {
int total = 0;
for (int value : values) {
total += value;
}
return total;
}
public static double average(int[] values) {
return (double) sum(values) / values.length;
}
public static int min(int[] values) {
int minValue = values[0];
for (int value : values) {
if (value < minValue) {
minValue = value;
}
}
return minValue;
}
public static int max(int[] values) {
int maxValue = values[0];
for (int value : values) {
if (value > maxValue) {
maxValue = value;
}
}
return maxValue;
}
}