|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
package example19;
/*
* 冒泡排序
*/
public class example19 {
public static void main(String[] args) {
int[] arr = {9,8,3,5,6};//定义数组,赋值无序
System.out.println("冒泡排序前:");
pintArray(arr);//打印数组元素
bubbleSort(arr);//调用排序方法
System.out.println("冒泡排序后");
pintArray(arr);//打印数组元素
}
//定义打印数组的元素的方法
public static void pintArray(int[] arr) {
//循环遍历数组的元素
for(int i=0;i < arr.length;i++) {
System.out.println(arr[i]+" ");//打印数组元素和空格
}
System.out.print("\n");
}
//定义对数组排序的方法
public static void bubbleSort(int[] arr) {
//定义外层循环
for(int i=0;i<arr.length-1;i++) {
//定义内层循环
for(int j=0;j<arr.length-i-1;j++) {
if(arr[j]>arr[j+1])//比较相邻元素
//比较
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
System.out.println("第" + ( i + 1 ) + "轮排序后:");
pintArry(arr);
}
}
}
}
为什么错误是图片中这样啊,感觉也没有错误
错误一: 比较相邻元素时使用的 if ,只能在仅一条语句的时候不使用大括号包起,否则都需要用大括号包起
错误二:pintArray 写成了 printArry
参考代码:/*
* 冒泡排序
*/
public class example19 {
public static void main(String[] args) {
int[] arr = {9, 8, 3, 5, 6};//定义数组,赋值无序
System.out.println("冒泡排序前:");
pintArray(arr);//打印数组元素
bubbleSort(arr);//调用排序方法
System.out.println("冒泡排序后");
pintArray(arr);//打印数组元素
}
//定义打印数组的元素的方法
public static void pintArray(int[] arr) {
//循环遍历数组的元素
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i] + " ");//打印数组元素和空格
}
System.out.print("\n");
}
//定义对数组排序的方法
public static void bubbleSort(int[] arr) {
//定义外层循环
for (int i = 0; i < arr.length - 1; i++) {
//定义内层循环
for (int j = 0; j < arr.length - i - 1; j++) {
// 比较相邻元素
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("第" + (i + 1) + "轮排序后:");
}
}
}
|
-
|