好的,所以这是我的代码。我认为在数组中对这些数字进行排序应该可以正常工作。但是,每当我试图运行它时,它所做的只是打印" [I @ 178af9c0"或者一些奇怪的变化。我完全不知道这是怎么回事,并感谢你能给我的任何帮助。非常感谢!!!
public class BubbleSort {
public void Print(){
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] BubbleSort = {3, 4, 1, 2};
int lengthOfArray = BubbleSort.length;
for (int i = 0; i < lengthOfArray - 1; i++){
for (int n = 1; n < lengthOfArray - i; n++){
if (BubbleSort[n - 1] > BubbleSort[n]){
Swap(i, n , BubbleSort);
}
}
}
System.out.println(BubbleSort.toString());
}
private static void Swap(int index1, int index2, int[] array) {
int temp;
temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
}
答案 0 :(得分:1)
在Java中,数组是类。所以字符串是对数组的引用,而不是数组的内容。如果要打印内容,可能最简单的方法是迭代所有元素。
for(int i : BubbleSort) System.out.println(""+i);
(在Java 8上测试过,为您的Java版本提供了旋转。)
那里有一些逻辑错误,但由于这看起来像是一个家庭作业问题,我只是提到你正在走向正确的路线,但可能需要弄清楚你实际在做什么并画出流程
答案 1 :(得分:0)
要获取数组的字符串表示形式,可以使用Arrays.toString(yourArray);