티스토리 뷰

[주제]

- 정렬 작업을 세 개의 영역으로 나눠서 메소드로 만들기



[중요]

- 값을 저장하는 공간(배열 num)은 'input' 메소드 안에서 생성 및 초기화 작업이 이뤄짐

- 반복되는 값 교체 과정은 두 번을 동일하게 사용하기 때문에 'swap' 메소드로 만듦



[소스 코딩]

package sortMethod;
 
import java.util.Scanner;
 
class sortMethod {
    public static void main(String[] args) {
        // 정렬 값 초기화 및 입력
        int updown[] = new int[1];
        int num[] = input(updown);
 
        // 정렬 루프
        sorting(num, updown[0]);
 
        // 결과 출력
        sortPrint(num);
    }
 
    public static int[] input(int updown[]){
        Scanner scanInput = new Scanner(System.in);
        
        System.out.print("정렬할 개수를 입력해주세요 = ");
        int count = scanInput.nextInt();
        int num[] = new int[count];
        System.out.println();
        
        System.out.println("정렬할 숫자를 입력해주세요");
        for (int i = 0; i < num.length; i++) {
            System.out.print((i + 1+ "번째 숫자 = ");
            num[i] = scanInput.nextInt();
        }
        System.out.println();
 
        System.out.print("정렬 순서를 결정해주세요(올림:1, 내림:2) = ");
        updown[0= scanInput.nextInt();
        
        scanInput.close();
        
        return num;        
    }
 
    public static void sorting(int num[], int updown){
        for(int i=0; i < num.length - 1; i++) {
            for(int j=i+1; j < num.length; j++) {
                if(updown == 1) {
                    if(num[i] > num[j])    {
                        swap(num, i, j);
                    }
                } 
                else {
                    if(num[i] < num[j])    {
                        swap(num, i, j);
                    }
                }
            }
        }
    }
 
    public static void swap(int num[], int numi, int numj){
        int temp;
 
        temp = num[numi];
        num[numi] = num[numj];
        num[numj] = temp;
    }
 
    public static void sortPrint(int num[]){
        for (int i = 0; i < num.length; i++) {
            System.out.print(num[i] + " ");
        }
        System.out.println();
    }
}
cs



■ 실행결과


'프로그래밍 언어 > Java(연습)' 카테고리의 다른 글

overload  (0) 2016.04.30
가변 인수  (0) 2016.04.29
methodClass2(메소드 연습)  (0) 2016.04.28
trump(카드 뽑기)  (0) 2016.04.27
method(함수, 메소드)  (0) 2016.04.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함