这是我的代码:
import java.util.*;
import java.lang.*;
import java.io.*;
class BubbleSort {
public static int[] bubbleSort(int[]arrayInput) {
boolean swapped = true;
int tmp = 0;
while(swapped) {
swapped = false;//We don't know if the array is pre-sorted
for(int i = 0; i<(arrayInput.length)-1; i++) {
if(arrayInput[i] > arrayInput[i+1]) {
tmp = arrayInput[i];
arrayInput[i] = arrayInput[i+1];
arrayInput[i+1] = tmp;
swapped = true;//Unsorted array - check again
}
}
}
return arrayInput;
}
public static void main (String[] args) throws java.lang.Exception {
int[]unsorted = {13, 2, 11, 6, 5, 15};
int[]finalArray = bubbleSort(unsorted);
System.out.println(finalArray);
}
}
我完全不确定为什么我会把一堆废话归还给我。代码编译没有问题。我对它的正确性非常肯定。任何人都可以帮我生成一个整数数组,而不是垃圾。感谢
答案 0 :(得分:1)
要打印数组中包含的值,请使用Arrays#toString。 变化
System.out.println(finalArray);
到
System.out.println(Arrays.toString(finalArray));
答案 1 :(得分:0)
这是因为您需要逐个输出它们。像这样的东西
for(int i = 0; i < arrayInput.length; i++) {
System.out.println(arrayInput[i]);
}
现在您正在将数组打印为对象。
Array extends Object,它具有toString()方法,在您的情境中调用
根据javadoc
getClass()。getName()+&#39; @&#39; + Integer.toHexString(hashCode())