[Java] 자바 최대값 최소값 구하기 / 극한값 제외 평균 구하기

2020-09-07


 

오늘은 특정 배열 내에서의 최댓값과 최솟값을

구하는 방법을 알아보도록 하겠습니다.

 

숫자의 범위는 이해를 쉽게 하기 위해 1~10까지의 수가 들어간

배열을 산정하였습니다.


소스코드

 

a = 1부터 증가하는 숫자가 들어갈 배열

ex) a[0] 1이 들어갈 예정;

 

		int i = 0;
		int [] a = new int[10];
		int count = 0; 
		//1씩 증가되는 수가 저장될 변수
		int max = 0, min = 10000;
		//최댓값과 최솟값이 들어갈 변수;		
		
		do {
			count++;
			a[i] = count;
			if(max <= a[i]) {
				max = a[i];
			}
			
			if(min >= a[i]) {
				min = a[i];
			}
			//배열에 삽입된 값이 최댓값인지 최솟값인지 
			//계속 비교하며 값은 갱신함
			
			i++;
			//배열의 위치를 하나씩 증가시켜준다.
		}while(i < 10); 
		
		System.out.println(max + " " + min);

출력 값: max = 10 // min = 1;


여기서 끝내면 아쉬우니 극한값을 제외한 해당 배열의 평균을 구해보도록 하겠습니다.

 

ex) 이해를 돕기 위해 배열의 첫 번째 값은 a [0] = 0;

마지막 값은 a[n] = 100;으로 산정 후

a [1] ~ a [n-1] 배열 위치에 모두 숫자 5를 삽입하여,

평균을 구해보도록 하겠습니다.

 

코드가 맞다면 극한값인 0과 100은 제외한 5들의 합의 평균을 구하게 되어

평균 역시 5가 출력될 것입니다.


소스코드

		int i = 0;
		int [] a = new int[10];
		a[0] = 0;
		a[9] = 100;
		//0 번째 자리와 마지막 자리에 
		//각 최소값과 최대값을 넣어줍니다.
		int sum = 0;
		//평균을 구하기 위한 배열의 합이 저장될 변수
		
		int five = 5; 
		//숫자 5 변수 선언
		int max = 0, min = 10000;
		//최댓값과 최솟값이 들어갈 변수;		
		
		for(int j = 1; j < a.length - 1; j++) {
			a[j] = five;
		}
		// 배열에 5를 넣어주기 위한 반복문
		
		do {
			if(max <= a[i]) {
				max = a[i];
			}
			
			if(min >= a[i]) {
				min = a[i];
			}
			//배열에 삽입된 값이 최댓값인지 최솟값인지 
			//계속 비교하며 값은 갱신함
			
			sum += a[i];
			i++;
			//배열의 위치를 하나씩 증가시켜준다.
		}while(i < 10); 
		
		System.out.println(max + " " + min);
		System.out.println((sum - max - min) / 8);
		//두 값을 빼주기 때문에 10 - 2 하여  8로 나누어 준다.

출력값: max = 100 // min = 0 // 평균 = 5;