이클립스에서 구현
1. 문제에서 정수를 3개까지 받겠다고 했으니,
절대 변하지 않는 상수로 처리해서 final int CNT = 3;
size() : 컬렉션프레임워크 타입들의 길이에 대해 알고 싶을때 사용.
2. 정수 말고 그외의 것들도 입력 받을 수 있어서,
입력을 총 몇번 받을지 모르니까 while.
3. 정수를 입력받으면 문제되는게 없으니, data.add(num) 이 되고,
4. 그렇지 않으면, catch 문으로 들어가서 출력문이 나오고,
continue; 된다.
주의할점 :
data.size() <= CNT 가 되면
정수 3개 입력받고, data.size()가 3이 됬을 때
3 < = CNT 니까 while 조건식이 T라 한번 더 while 문을 돌게 된다.
이때, data.add(num); 을 해서 정수가 인덱스 3번째에 저장되고,
data.size()는 4가 된다.
문제의 조건에는 정수를 3개만 입력받기로 했으니, 이 부분을 헷갈리지 않도록 주의.
1. 0보다 작거나 같으면 해당 데이터값을 지우고, 반복한다.
2. 지워지면 데이터값들이 자동으로 밀린다.
3. 0보다 확실히 클 경우에는, 지우지 않고 i++를 해줘서 그 다음 인덱스의 값을 판단한다.
1. 최대값을 담을 변수를 max로 설정하고,
2. for문의 초기값을 i = 1;로 줘서 1번째 인덱스 부터 비교할 수 있게.
3. data.get(0)이랑 data.get(1, 2, 3, ...) 이랑 비교하면서 어떤 값이 더 크면
그 값이 새롭게 max 변수에 저장되고, 해당 인덱스가 maxIndex 변수에 저장된다.
4. 해서 최대값과 최대값 인덱스를 출력하고,
data.remove(maxIndex) 를 해서 최대값을 지워버린다.
5. 최대값이 지워진 상황에서 나머지 값들의 총합을 구하고
배열의 길이로 나눠서 평균을 구한다.