자바를 이용한 버블 정렬 구현 중 문제가 발생합니다.
조회수 2564회
import java.util.Scanner;
public class BubbleSort {
public static void main(String[] args) {
int inputNumber = 0, temp = 0;
int[] bubbleArray = new int[5];
Scanner scanner = new Scanner(System.in);
System.out.println("============================");
for(int i = 0; i < bubbleArray.length; i++) {
System.out.print("Input Number : ");
inputNumber = scanner.nextInt();
bubbleArray[i] = inputNumber;
}
for(int i = 0; i < bubbleArray.length; i++) {
for(int j = 1; j < bubbleArray.length - 1; j++) {
if(bubbleArray[i] > bubbleArray[j]) {
temp = bubbleArray[i];
bubbleArray[i] = bubbleArray[j];
bubbleArray[j] = temp;
} else {
break;
}
}
}
System.out.println("Complete Bubble Sorting Result :" + bubbleArray);
System.out.println("============================");
scanner.close();
System.exit(0);
}
}
간단하게 5 개의 수를 임의로 입력받아 버블 정렬을 수행하는 코드를 작성하고 있습니다. inputNumber 에 입력받은 값을 정렬 후 출력하면 아래와 같은 이상한 형태의 숫자가 출력됩니다. 어디가 문제일까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
배열은 값의 집합이라고 생각하시면 됩니다. 질문하신 부분처럼 배열을 직접 출력하게 될 경우 배열의 주소 값이 출력됩니다.
배열 안의 특정 값에는 인덱스를 통해서 접근합니다. 아래는 몇가지 예시입니다.
int[] bubbleArray = {1, 2, 3, 4, 5}; System.out.println(bubbleArray); //주소값 출력 System.out.println(bubbleArray[0]); // 1 for (int index = 0; index < bubbleArray.length; index++) { System.out.println(bubbleArray[index]); } for (int index : bubbleArray) { System.out.println(index); } System.out.println(Arrays.toString(bubbleArray));
댓글 입력