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