Rubberduck-Debugging

[알고리즘] 삼항연산자, 최대값 최소값 본문

개발자/20181127 교육과정

[알고리즘] 삼항연산자, 최대값 최소값

P缶 2018. 12. 17. 17:34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class MinMax {
    private int[] score;
    private int max ;
    private int min;
 
    private void minMax() {
        //1. 수학과 학생들의 기말고사 시험 점수
        score = new int[]{79,88,97,54,56,95};
        max = score[0]; //79
        min = score[0]; //79
 
        for(int i:score) {
            max = (score[i] > max) ? score[i] : max;
            min = (score[i] < min) ? score[i] : min;
        }
        System.out.println("max : " + max);
        System.out.println("min : " + min);
 
 
    }
cs


for(int i: score) 로 score 배열을 확인.
삼항연산자로 score[i] > max인 경우가 참이면, ? 앞 값이 최대값. 거짓이면 score[i]가 최대값.
min 역시, score[0]번째 값보다 더 작은 수의 score[i]를 반복문으로 검출, 최소값을 찾아낸다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Jumsu {
    private int[] jumsu;
    private int sum ;
    private float average;
 
    public void sort() {
        //2. 어느 학생의 기말 성적
        sum=0;
        average = 0f;
        jumsu = new int[]{100,55,90,60,78};
        //1. 총 과목수
        //2. 점수의 합
        //3. 점수의 평균을 구하세요  (2,3 번은 하나의 for문에서)
 
        for(int i=0;i<jumsu.length;i++) {
            sum += jumsu[i];
            average += (float)sum/jumsu.length;
 
        }
        System.out.println("1. 총 과목수 : "+jumsu.length);
        System.out.println("2. 점수의 합 :"+sum);
        System.out.println("3. 점수의 평균 :"+average);
 
    }
cs