Daily coding
Java Basic : day 8 - Example 02: Sorting 정렬 클래스 구현하기 본문
Language/Java_basic
Java Basic : day 8 - Example 02: Sorting 정렬 클래스 구현하기
sunnnkim 2019. 11. 27. 20:10package day8.example2;
import java.util.Arrays;
import java.util.Scanner;
public class Sorting {
private int[] originalArr;
private int[] sortArr;
private int count;
private boolean updown;
public Sorting() {
mainMenu();
originalArr = new int[count];
}
// 숫자입력 메인
public void mainMenu() {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("몇 개를 정렬하시겠습니까 ? ");
System.out.print(">> ");
try {
count = sc.nextInt();
break;
} catch (Exception e) {
System.out.println("잘못입력했습니다.");
}
}
}
// 정렬할 숫자 입력 받기
public void startInsert() {
Scanner sc = new Scanner(System.in);
int w = 0;
while ( w < originalArr.length) {
System.out.print((w+1)+"번째 숫자 : ");
try {
int num = sc.nextInt();
originalArr[w] = num;
w++;
} catch (Exception e) {
System.out.println("잘못입력했습니다.");
}
}
selectUpdown();
}
// 정렬하기 선택
public void selectUpdown() {
Scanner sc = new Scanner(System.in);
sortArr = originalArr.clone();
System.out.println("번호를 선택하세요 :");
System.out.println("올림차순(1) 내림차순(2)");
System.out.print(">> ");
int ud = sc.nextInt();
if(ud == 1) updown = true;
else updown = false;
sc.close();
sort();
}
// 정렬하기
public void sort(){
int temp;
for (int i = 0; i < sortArr.length -1; i++) {
for (int j = i + 1; j < sortArr.length; j++) {
// 오름차순
if(updown == true) {
if(sortArr[i] > sortArr[j]) {
temp = sortArr[i];
sortArr[i] = sortArr[j];
sortArr[j] = temp;
}
}
// 내림차순
else {
if(sortArr[i] < sortArr[j]) {
temp = sortArr[i];
sortArr[i] = sortArr[j];
sortArr[j] = temp;
}
}
}
}
printArray();
}
public void printArray() {
System.out.println("정렬 전 : " + Arrays.toString(originalArr));
System.out.println("정렬 후 : " + Arrays.toString(sortArr));
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 9 - Class 은닉화(캡슐화) 복습 (0) | 2019.11.29 |
---|---|
Java Basic : day 8 - Example 03: 파일 입출력 / 생성 클래스 구현하기 (0) | 2019.11.27 |
Java Basic : day 8 - Example 01: Baseball 게임 클래스로 구현하기 (0) | 2019.11.27 |
Java Basic : day 8 - OOP: this 참조 (0) | 2019.11.27 |
Java Basic : day 8 - OOP: 생성자 (0) | 2019.11.27 |