본문 바로가기
Java

[Java] 숫자 정렬

by 엘딘 2022. 5. 17.
int number[] = null;
int updown[] = new int[1];		// 1을 넣는 이유 - 오름차순인지 내림차순인지 하나만 넣어서 구별

number = input( updown ); 

// 정렬
sotring(number, updown[0]);

// 결과출력
result(numbr, updown[0]);


Static int[] input(int[] updown){
    Scanner sc = new Scanner(System.in);
    
    System.out.print("정렬할 숫자의 개수 = ");
    int count = sc.nextInt();
    
    int number[] = new int[count];
    for(int i = 0; i < number.length; i++ ){
    	System.out.print((i + 1) + "번째 수 = ");
        number[i] = sc.nextInt();
    }
    
    System.out.print("오름(1)/내림(2) = ");
    updown[0] = sc.nextInt();
    
    retrun number;
}


// 분류
static void sorting(int number[], int updown) {

    for (int i = 0; i < number.length - 1; i++) {	// [0][1][2][3][4]
        for (int j = i + 1; j < number.length; j++) {				
            if(updown == 1) {					
                if(number[i] > number[j]) {
                    swap(number, i, j);					
                    /*	temp = number[i];
                    number[i] = number[j];
                    number[j] = temp;	*/							
                }
            }
            else {							
                if(number[i] < number[j]) {
                    swap(number, i, j);
                /*	temp = number[i];
                    number[i] = number[j];
                    number[j] = temp;*/								
                }
            }
        }
    }
}


static void swap(int number[], int i, int j) {
    int temp = number[i];
    number[i] = number[j];
    number[j] = temp;
}


static void result(int number[], int updown) {
    String msg = "";
    if(updown == 1) msg = "오름차순으로 정렬되었습니다.";
	else	    msg = "내림차순으로 정렬되었습니다.";
    System.out.println(msg + " " + Arrays.toString(number));
}

 

 

public class sort {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner scan = new Scanner(System.in);
		
		
	    System.out.print("몇 개의 숫자를 입력할까요? : ");
	    int many = scan.nextInt();   // many : 숫자 개수
	    int n[] = new int[many];   // n : 입력할 숫자들
	    int s;
	    
	    System.out.print("오름 차순으로 할 것인가요?(맞으면 : true/ 틀리면 : false) : ");
	    boolean a = true;
	    a = scan.nextBoolean();

	    for(int i=0; i < many; i++) {
	          System.out.print("숫자를 입력해주세요 : ");
	          n[i] = scan.nextInt();
	        
	    }
	    
		if( a == true) {
			for(int k=0; k < many-1; k++) {  
				for(int j=k+1; j < many; j++) {
	                if(n[k] > n[j]) {
	                   s = n[k];
	                   n[k] = n[j];
	                   n[j] = s;
	                }
	             }
	          }
	          System.out.println(Arrays.toString(n)); 
		} 
	     else { 
	    	 for(int k=0; k < many; k++) {  
	    		 for(int j=k+1; j < many; j++) { 
	    			 if(n[k] < n[j]) {
	    				 s = n[k];
	    				 n[k] = n[j];
	    				 n[j] = s;
	    			 }
	    		 }
	    	 }
	             System.out.println(Arrays.toString(n));  
	     }

		
		
	}

}

 

'Java' 카테고리의 다른 글

[Java] Constructor(생성자)  (0) 2022.05.17
[Java] 학생들의 최고 점수/최저 점수  (0) 2022.05.17
[Java] 학생들의 평균 점수를 구하라  (0) 2022.05.16
[Java] Interface2  (0) 2022.05.16
switch  (0) 2022.05.10

댓글