JAVA
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+" ");//打印数组元素和空格
}
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>arr)//比较相邻元素
//比较
int temp = arr;
arr = arr;
arr = 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 + " ");//打印数组元素和空格
}
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 > arr) {
int temp = arr;
arr = arr;
arr = temp;
}
}
System.out.println("第" + (i + 1) + "轮排序后:");
}
}
}
好的谢谢你
页:
[1]