mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Monday, May 28, 2007

Java 자바] double 배열 중앙값, 중간값, 메디안 구하기 메서드; Median Method


숫자가 들어 있는 배열에서, 중앙값(메디안)을 구하는 방법입니다. 아래의 getMedian 이라는 메소드(함수)를 사용하면 됩니다. 그런데 우선 배열을 크기순으로 소팅한 후에 getMedian 에 인수로 넘겨주어야 합니다. 소팅하지 않으면 틀린 값이 나옵니다.

중앙값 구하기, 출력 예제 소스


소스 파일명: 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; // 짝수 개 요소는, 중간 두 수의 평균 반환
    }
  }


}



중앙값 계산기: ▶▶ 평균 계산기, 합계 구하기, 표준편차 계산기, 중앙값; Sum Average Stdev Median Calc




tag: java
자바 | Java

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top