728x90

 

평균 계산시, int / int = int가 나오므로 (float or double) 형변환 해줄 것

average = sum / (float)score.length; // 계산 결과를 float타입으로 형변환

 

총점과 평균

package practice03_jungsuk;

public class Ch5_89_array활용 {
	public static void main(String[] args) {
		
		int sum = 0;
		float average = 0f;
		
		int[] score = {100, 88 , 100, 100, 90};
		
		for(int i = 0; i < score.length; i++) {
			sum += score[i];
		}
		average = sum / (float)score.length; // 평균 연산시, 실수 형변환 잊지말것
		// casting안하면 정수로 결과도출 및 데이터 손실. (float)변환시 95.6 int시 95
		
		System.out.println("총점 : " +sum);
		System.out.println("평균 : " +average);
	}	
}

 

 

최대값 최소값

int[] score2 = {79,88,91,33,100,55,95}; 
		
int max = score2[0]; // 배열의 첫번째 값으로 최대값 초기화
int min = score2[0]; // 배열의 첫번째 값으로 최소값 초기화

for(int i=1; i<score2.length; i++) {
	if(score2[i] > max) {
		max = score2[i];
	}else if(score2[i] < min) {
		min = score2[i];
	}
} 

System.out.println("최대값 : " + max);
System.out.println("최소값 : " + min);

 

728x90
반응형
728x90

002. if문에서 세 수의 최소값 구하기  

 

 

연습문제에서 햇갈렸던 문제 리뷰

세부설명

if문 논리흐름을 보자. 

x가 y보다 크고, 그게 true면 다시 y가 z보다 크거나 같거나 작은 경우의수가 있는데 y가 z보다 클 경우 z가 최소값

아니라면 y가 최소값이 된다

(수업에서 배운건데 지금보니 값이 =인 경의수가 없는 안좋은 코드인듯)

 

else에서 x가 y보다 크지 않으면의 경우인데,

(같거나 작은경우인데 일단 같은 경우 제외하고 진행하자)

x가 z보다 크면 z가 자동적으로 최소값

아니라면 다시 아래 else로 내려가서 x가 가장 작게되므로 x를 최소값으로 출력

 

 

728x90
반응형

+ Recent posts