본문 바로가기

JAVA/기초 프로그래밍

숫자를 입력받아 오름/내림 정렬하는 프로그램(내꺼)

헷깔린것~

 

* 숫자들을 입력받아 바로 

배열 Array[ i ] = sc.nextInt( ); 로 저장함

 

 

*주요코드

올림/내림차순 정렬

			for(int i = 0; i < Array.length - 1; i++){// i = 0 1 2 3
				
				for (int j = i + 1; j < Array.length; j++) {//number.length = 5
					
					if(Array[i] < Array[j]) { // > 내림 (if문에서 결정)
						temp = Array[i];
						Array[i]= Array[j];
						Array[j]= temp;
						}
					}
				}

 

 

 

 

전체코드 : 

		Scanner sc = new Scanner(System.in);
		boolean out = true;
		
		while(true) {
		
		System.out.println("원하는 수의 갯수를 입력해주세요");
		int count = sc.nextInt();
		int[] Array = new int[count];
		
		System.out.println("정렬 할 숫자들을 갯수만큼 입력해 주세요");
		for (int i = 0; i < Array.length; i++) {
			Array[i] = sc.nextInt();
		}
		
		System.out.println("오름차순 정렬은 1번, 내림차순 정렬은 2번");
		int choice = sc.nextInt();
		
		int temp;
		if (choice == 1) {
			for(int i = 0; i < Array.length - 1; i++){// i = 0 1 2 3
				
				for (int j = i + 1; j < Array.length; j++) {//number.length = 5
					
					if(Array[i] > Array[j]) { // > 오름 (if문에서 결정)
						temp = Array[i];
						Array[i]= Array[j];
						Array[j]= temp;
						}
					}
				}
		}else if(choice == 2){
			for(int i = 0; i < Array.length - 1; i++){// i = 0 1 2 3
				
				for (int j = i + 1; j < Array.length; j++) {//number.length = 5
					
					if(Array[i] < Array[j]) { // > 내림 (if문에서 결정)
						temp = Array[i];
						Array[i]= Array[j];
						Array[j]= temp;
						}
					}
				}
			}
					
				
		for (int i = 0; i < Array.length; i++) {
			System.out.println("Array["+i+"] = "+Array[i]);
		}
	
		}