1.易错点
这是第一次错误书写,不清楚main函数和方法之间的关系
public class sort {
public static void main(String[] args){
public static void Sort(int[]arr){
//arr = new int[]{1,9,3,5,21,5,2,6,13,};
for(int i=0;i<arr.length;i++){
for(int j=0;j< arr.length-i;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
int arr[]= {1,9,3,5,21,5,2,6,13,};
Sort(arr);
}
}
2.正确方法:
public class sort {
public static void Sort(int[]arr){
//arr = new int[]{1,9,3,5,21,5,2,6,13,};
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(Arrays.toString(arr));
}
public static void main(String[] args){
//int[]arr = {1,9,3,5,21,5,2,6,13,};
int[]adg;
adg = new int[]{1,9,3,5,21,5,2,6,13,};
Sort(adg);
}
这里一共出现几个问题:
1)无法从静态上下文中引用非静态方法Sort(int[]),主要原因是我在构造Sort时没有加上static。
2)数组长度问题,因为从0开始,所以i应小于数组长度减一
3)构建一维数组的方法:
int[]arr = {1,9,3,5,21,5,2,6,13,};
或者
int[]adg;
adg = new int[]{1,9,3,5,21,5,2,6,13,};
4)输出数组要用到System.out.println(Arrays.toString(arr));
5)调用Sort方法:Sort(adg);