JavaCode(review)

ArrayChallenge/ console 입력 값/ 큰 순서대로 나열(descending)

◀ ▷ ▶ ♤ ♠ ♡ ♥ ♧ ♣ ⊙e 2020. 5. 19. 10:29
반응형

Point : consloe 숫자 입력 -> 큰순으로 나열 (method sorted) 출력.

package com.company;

import java.util.Arrays;
import java.util.Scanner;

public class ArrayChallenge {

    //Descending order :high->low
    //import console 입력
    private static Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        int[] arrayInteger = getIntegers(5);
        printArray(sortArray(arrayInteger));

    }


    //method 3개
    public static int[] getIntegers(int capacity) {        //콘솔 입력 값 인식//capacity값 array로 전환
        int[] array = new int[capacity];
        System.out.println("Input = " + capacity + "integers values.\r");
        for (int i = 0; i < array.length; i++) {
            array[i] = scanner.nextInt();       //차례로 console 계속 입력
        }
        return array;
    }

    public static void printArray(int[] array) {           //print out method
        for (int i = 0; i < array.length; i++) {      //같은 capacity define
            System.out.println("Element " + i + " = " + array[i]);
        }
    }

    public static int[] sortArray(int[] array) {           //printArray->>descending 분류(high->low)
        int[] sortArray = Arrays.copyOf(array, array.length); // 새로운 array값=위의 array로 간단히 define.

        int temp;
        boolean swap = true;
        while(swap){
           
            for(int i = 0; i < sortArray.length-1; i++) {    //앞뒤 자리 숫자 비교 //마지막 숫자는 비교필요없음.
                if (sortArray[i] < sortArray[i+1]) {                    // ex)[0]=2,[1]=40,[2]=30// high->low순으로 바꾸기
                    temp = sortArray[i];       // temp = 2
                    sortArray[i] = sortArray[i + 1];        //[0]= 40
                    sortArray[i + 1] = temp;      //[1]=temp =2
                    swap = true;
                }
            } swap =false;  // boolean default = false; 그래야 while 빠져나오지
        }
        return sortArray;

    }

}

Output

D:\IT\JDK\jdk11.0.6_10\bin\java.exe "-javaagent:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\lib\idea_rt.jar=51740:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\bin" -Dfile.encoding=UTF-8 -classpath D:\IT\NewProject\Array\out\production\Array com.company.ArrayChallenge
Input = 5integers values.
4
768
234
80
3
Element 0 = 768
Element 1 = 234
Element 2 = 80
Element 3 = 4
Element 4 = 3

Process finished with exit code 0