본문 바로가기
문제 풀이/Java

[Java] 배열을 통해 값을 무작위로 입력받고, 내림차순으로 재정렬하기

by 찐코딩 2021. 8. 20.
import java.util.Scanner;

public class Exam03_02 {

	public static void main(String[] args) {
    
		//배열 크기 지정
		Scanner sc=new Scanner(System.in);
		System.out.print("배열의 크기를 입력하세요");
		int[] arr=new int[sc.nextInt()];
		
		//숫자 입력
		System.out.printf("%d개의 숫자를 입력하세요\n", arr.length);
		for(int i=1; i<=arr.length; i++) {
			arr[(i-1)]=sc.nextInt();
		}
		
		//내림차순으로 정렬
		for(int i=0; i<arr.length; i++) {
			for(int j=i+1; j<arr.length; j++) {
				if(arr[j]>arr[i]) { //내림차순
					int temp=arr[i];  //값 변경해야 하기에 임시저장
					arr[i]=arr[j];
					arr[j]=temp;
						}
					}
				}
		// 내림차순으로 정렬된 배열을 화면에 출력해보자
		System.out.println("===내림차순으로 정렬===");
		// 단축 for문을 응용
		for(int k : arr) {
			System.out.printf("%d\t", k);
		}
		sc.close();
	}
}

결과

배열의 크기를 입력하세요3
3개의 숫자를 입력하세요
10
2
28
===내림차순으로 정렬===
28	10	2

 

번외) 오름차순 정렬

//오름차순으로 정렬
	for(int i=0; i<arr.length; i++) {
		for(int j=i+1; j<arr.length; j++) {
			if(arr[i]>arr[j]) { // 오름차순
				int temp=arr[i];  //값 변경해야 하기에 임시저장
				arr[i]=arr[j];
				arr[j]=temp;
					}
				}
			}

댓글