package study.exam;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
import java.util.Scanner;
public class Ex03 {
ArrayList<Integer> list; // 임의의 수 10개 리스트
public static void main(String[] args) {
new Ex03().start();
}
// 시작
public void start() {
getList(); // 임의의 수 10개 리스트 얻기
ascList(list); // 오름차순 정렬하기
printList(); // 결과 출력하기
}
// 임의의 수(50이하 정수) 10개 리스트 얻기
public void getList() {
list = new ArrayList<>();
Random rnd = new Random();
while(list.size()<10) {
int num = rnd.nextInt(50)+1;
if(!isExist(num)) {
list.add(num);
}
}
}//end getList()
// 존재하는 숫자인지 판별 메서드
public boolean isExist(int num) {
boolean result = false;
for(Integer l : list) {
if(l==num) {
result=true;
break;
}
}
return result;
}//end isExist()
// 오름차순 정렬 메서드
public void ascList(ArrayList<Integer> list) {
for(int i=list.size()-1; i>=0; i--) {
for(int j=0; j<i; j++) {
if(list.get(j)>list.get(j+1)) {
int temp = list.get(j);
list.remove(j);
list.add(j+1,temp);
}
}
}//end for
}//end ascList()
// 리스트 출력 메서드
public void printList() {
System.out.print("{");
for(Integer result : list) {
System.out.print(result+" ");
}
System.out.println("}");
int max = Collections.max(list);
int min = Collections.min(list);
int sum = getSum(list);
double avg = sum/(double)list.size();
System.out.printf("최소값 : %d, 최대값 : %d, 총합 : %d , 평균 : %.1f",max,min,sum,avg);
}//end printList()
// 총합 구하는 메서드
public int getSum(ArrayList<Integer> list) {
int result=0;
for(Integer i : list) {
result += i;
}
return result;
}//end getSum()
}