JAVA - 생성한 배열을 오름차순으로 선택정렬 하는 퀴즈(2022-07-20)
2022. 7. 21. 00:32ㆍ3층 1구역 - 개발의 장/JAVA
결과
배열의 길이를 생성 : 6
6개의 배열이 생성되었습니다.
데이터를 입력하세요
1번째 데이터 입력 : 9
2번째 데이터 입력 : 2
3번째 데이터 입력 : 6
4번째 데이터 입력 : 1
5번째 데이터 입력 : 8
6번째 데이터 입력 : 7
배열의 데이터 : 9 2 6 1 8 7 입니다.
1 2 6 7 8 9
package arrays_0720;
import java.util.Scanner;
public class Quiz05_Repeat {
public static void main(String[] args) {
// 생성한 배열을 오름차순으로 선택정렬 하기
Scanner sc = new Scanner(System.in);
int i = 0;
System.out.print("배열의 길이를 생성 : ");
int num = sc.nextInt();
int[] data = new int[num];
System.out.println(num + "개의 배열이 생성되었습니다.");
System.out.println("데이터를 입력하세요");
for (i = 0; i < data.length; i++) {
System.out.print((i + 1) + "번째 데이터 입력 : ");
data[i] = sc.nextInt();
}
System.out.print("배열의 데이터 : ");
for (i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
System.out.println("입니다.");
for (i = 0; i < data.length - 1; i++) {
// 기준은 0번째부터 시작. 마지막 번째는 비교하지 아니하기 때문에 arr의 배열 길이에서 -1 그리고 i를 순차적으로 더함.
for (int j = i + 1; j < data.length; j++) {
// 다중 for문을 이용하여 swap할 변수값 생성 이 때, 스왑할 변수는 기준보다 1칸 큰값이므로 1를 더하고 arr배열 만큼 실행
// System.out.println(i + ", " + j); -->> 출력값을 보면 i=0일 때, j의 1~4까지 비교하고, i=1일 때,
// j의 2~4까지 비교하는 결과를 얻을 수 있다.
if (data[i] > data[j]) { // 오름차순 선택정렬
// if(data[i] < data[j]) 내림차순 선택정렬
int tmp = data[i]; // 스왑 해줄 때, 기존에 있던 수를 백업해줄 함수가 필요. 함수하나를 만들어서 백업 후
data[i] = data[j]; // 배열의 비교한 값을 포맷 시켰던 변수에 삽입.(스왑)
data[j] = tmp; // 백업했던 값을 대입
}
}
}
for (i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
System.out.println();
}
}
'3층 1구역 - 개발의 장 > JAVA' 카테고리의 다른 글
JAVA - 배열을 이용한 로또 프로그램 퀴즈 (2022-07-20) (0) | 2022.07.21 |
---|---|
JAVA - 이름,나이를 배열에 넣고 나이 기준 오름차순 선택정렬하는 퀴즈(2022-07-20) (0) | 2022.07.21 |
JAVA - Scanner를 이용한 배열 생성하는 퀴즈 (2022-07-20) (0) | 2022.07.21 |
JAVA - array 다차원 배열 : 2차원 배열 -- 02(2022-07-20) (0) | 2022.07.21 |
JAVA - array 다차원 배열 : 2차원 배열(2022-07-20) (0) | 2022.07.20 |