본문 바로가기

Java/java 기초

기본 정렬하기 (오름차순, 내림차순)

public class mainClass1 {
	public static void main(String[] args) {
		/*
		 * // sorting
		 * 
		 * 선언부
		 * 
		 * 입력부 몇개를 정렬하시겠습니까? 동적 할당 숫자를 갯수에 맞게 입력 받는다. 올림(1)/내림차순(2)
		 * 
		 * 정렬 결과 출력
		 *
		 */
		// 선언 하기
		Scanner scanner = new Scanner(System.in);
		int arrNum[];
		int temp;


		// 값을 입력받기
		while (true) {
			arrNum = new int[10];
			System.out.println("값을 입력하세요");
			for (int i = 0; i < arrNum.length; i++) {
				int userNumber = scanner.nextInt();
				arrNum[i] = userNumber;
			}
			
			for (int i : arrNum) {
				System.out.print(i + " ");
			}
			System.out.println();
			System.out.println("정렬 방식을 선택하세요");
			System.out.println("1. 오름차순 2. 내림차순");
			int choice = scanner.nextInt();

			for (int i = 0; i < arrNum.length - 1; i++) {
				for (int j = i + 1; j < arrNum.length; j++) {
					if (choice == 1) {
						if (arrNum[i] > arrNum[j]) {
							temp = arrNum[i];
							arrNum[i] = arrNum[j];
							arrNum[j] = temp;
						}
					} else if (choice == 2) {
						if (arrNum[i] < arrNum[j]) {
							temp = arrNum[i];
							arrNum[i] = arrNum[j];
							arrNum[j] = temp;
						}
					}
				}
			}
			
			
			for (int i : arrNum) {
				System.out.print(i + " ");
			}
			System.out.println();
			//종료하기
			System.out.println("다시 실행하시겠습니까? y/n");
			String answer = scanner.next();
			if(answer.equals("y")) {
				continue;
			} else {
				System.out.println("프로그램을 종료합니다");
				break;
			}
		}
	}
}