【发布时间】:2018-01-29 02:42:50
【问题描述】:
我的代码正在运行,但是当我执行代码时,数组的最后一个元素没有排序,它显示不变请帮助我。
package array;
import java.util.Scanner;
public class Array {
public static void main(String[] args) {
Scanner in= new Scanner(System.in);
System.out.println("Enter the number of elements: ");
int numOf=in.nextInt();
int array1[]=new int[numOf];
for(int i=0;i<array1.length;i++){
System.out.println("Insert the "+(i+1)+" element of the array: ");
array1[i]=in.nextInt();
}
System.out.println("The inserted array is:");
for(int j=0;j<array1.length;j++){
System.out.print(array1[j]+" ");
}
int temp=0;
for(int k=0;k<array1.length;k++){
for(int z=1;z<(array1.length-1);z++){
if(array1[z-1]>array1[z]){
temp=array1[z-1];
array1[z-1]=array1[z];
array1[z]=temp;
}
}
}
System.out.println("Sorted array");
for(int c=0;c<array1.length;c++){
System.out.print(array1[c]+" ");
}
}
}
【问题讨论】:
-
学习调试。要么运行一个调试器,要么至少在每次循环后打印出整个数组以供检查,这样你就可以看到你的数组是如何变化的
-
将 (array1.length-1) 更改为 (array1.length-k)
标签: java arrays bubble-sort