Monday, May 28, 2007
Java 자바] double 배열 중앙값, 중간값, 메디안 구하기 메서드; Median Method
숫자가 들어 있는 배열에서, 중앙값(메디안)을 구하는 방법입니다. 아래의 getMedian 이라는 메소드(함수)를 사용하면 됩니다. 그런데 우선 배열을 크기순으로 소팅한 후에 getMedian 에 인수로 넘겨주어야 합니다. 소팅하지 않으면 틀린 값이 나옵니다.
소스 파일명: Example.java
중앙값 계산기: ▶▶ 평균 계산기, 합계 구하기, 표준편차 계산기, 중앙값; Sum Average Stdev Median Calc
중앙값 구하기, 출력 예제 소스
소스 파일명: Example.java
import java.util.Arrays;
public class Example {
public static void main(String[] args) {
double[] a;
a = new double[] { 1, 2, 3 };
Arrays.sort(a); // 크기 순으로 정렬
System.out.println(getMedian(a));
// 출력 결과: 2.0
a = new double[] { 1, 2, 3, 4 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 2.5
a = new double[] { 4, 3, 1, 2 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 2.5
a = new double[] { 1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 1320.0
a = new double[] { 1, 2 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 1.5
a = new double[] { 100 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 100.0
}
// 중앙값 구하기 메소드
// 크기 순으로 이미 정렬된 배열을 입력해야만 함
// 코드의 범용성을 위해서 이 함수 자체에는 정렬 기능이 없음
public static double getMedian(double[] array) {
if (array.length == 0) return Double.NaN; // 빈 배열은 에러 반환(NaN은 숫자가 아니라는 뜻)
int center = array.length / 2; // 요소 개수의 절반값 구하기
if (array.length % 2 == 1) { // 요소 개수가 홀수면
return array[center]; // 홀수 개수인 배열에서는 중간 요소를 그대로 반환
} else {
return (array[center - 1] + array[center]) / 2.0; // 짝수 개 요소는, 중간 두 수의 평균 반환
}
}
}
public class Example {
public static void main(String[] args) {
double[] a;
a = new double[] { 1, 2, 3 };
Arrays.sort(a); // 크기 순으로 정렬
System.out.println(getMedian(a));
// 출력 결과: 2.0
a = new double[] { 1, 2, 3, 4 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 2.5
a = new double[] { 4, 3, 1, 2 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 2.5
a = new double[] { 1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 1320.0
a = new double[] { 1, 2 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 1.5
a = new double[] { 100 };
Arrays.sort(a);
System.out.println(getMedian(a));
// 출력 결과: 100.0
}
// 중앙값 구하기 메소드
// 크기 순으로 이미 정렬된 배열을 입력해야만 함
// 코드의 범용성을 위해서 이 함수 자체에는 정렬 기능이 없음
public static double getMedian(double[] array) {
if (array.length == 0) return Double.NaN; // 빈 배열은 에러 반환(NaN은 숫자가 아니라는 뜻)
int center = array.length / 2; // 요소 개수의 절반값 구하기
if (array.length % 2 == 1) { // 요소 개수가 홀수면
return array[center]; // 홀수 개수인 배열에서는 중간 요소를 그대로 반환
} else {
return (array[center - 1] + array[center]) / 2.0; // 짝수 개 요소는, 중간 두 수의 평균 반환
}
}
}
중앙값 계산기: ▶▶ 평균 계산기, 합계 구하기, 표준편차 계산기, 중앙값; Sum Average Stdev Median Calc
tag: java
자바 | Java
<< Home