공부노트/개인공부!
[Java, 자바] Sorting(정렬).ver2
drexqq
2020. 5. 29. 17:39
728x90
반응형
Java를 이용해서 입력받은 숫자를 정렬해주는 코드를 작성해봤다.
코드
package sortingFunc;
import java.util.Scanner;
public class mainClass {
public static void main(String[] args) {
/*
sorting
1. 입력
-> 숫자들, 오름차순/내림차순
2. 처리
-> 오름/내림차순 소팅
2.5 swap()
3. 출력
-> 출력
*/
sorting();
}
static void sorting() {
System.out.println("결과");
System.out.println(java.util.Arrays.toString(userInput()));
}
static int[] userInput() {
Scanner sc = new Scanner(System.in);
System.out.println("몇 개의 숫자를 정렬하시겠습니까 ?");
int numCount = sc.nextInt();
int numArr[] = new int[numCount];
System.out.println("정렬할 숫자를 입력해주세요.");
for (int i = 0; i < numArr.length; i++) {
int num = sc.nextInt();
numArr[i] = num;
}
// 오름차순/내림차순 선택
System.out.println("오름차순(1) / 내림차순(2) 을 선택해주세요.");
int order = sc.nextInt();
sc.close();
proccess(numArr, order);
return numArr;
}
static int[] proccess(int arr[], int ad) {
// 오름,내림차순
boolean b = (ad == 1) ? true : false;
// 스왑
swap(arr, b);
return arr;
}
static int[] swap(int arr[], boolean b) {
int temp;
String msg = (b)?"오름차순을 선택하였습니다":"내림차순을 선택하였습니다.";
System.out.println(msg);
for (int i = 0; i < arr.length-1; i++) {
for (int j = i + 1; j < arr.length; j++) {
// 오름차순
if (b) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
else {
if (arr[i] < arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
return arr;
}
}
728x90
반응형