java 中的冒泡排序,方法(静态或非静态)? ,(void or int[] )?,需要实例变量吗?

Bubble sort in java , method (static or non staic)? ,(void or int[] )?,instance variable needed?

谁能帮我解释一下什么时候使用静态/非静态 , void 或 int[]x ,什么时候使用实例变量

因为我似乎无法弄清楚在冒泡排序代码中导致这样的错误的原因

public class PA2 {
//int []a ;
//int maxsize ;
//int temp;
public static int[] bubblesort(int [] a1) {
    int temp ;
    for(int i=0;i<a.length-1;i++) {
        for(int j=0 ; j<a.length-1-i;j++) {
        if(a[i]>a[i+1])
       temp = a[i];
        a[i]=a[i+1];
        a[i+1]=temp;
        }   
    }
}
public static void main(String[] args) {
    int [] a1 = {11,5,14,10,2};
     bubblesort(a1);
    //a.bubblesort();
   //a.selectionsort();
   // a.insertionsort();     }      }

冒泡排序是可以被多个 类 和代码使用的东西,所以最好将它作为一个 Utility Method,它主要写成静态的并使用泛型。

静态/非静态:

static = 处于 class 级别并由 class 的所有实例共享的东西。例如 - site_hit_count 是您希望在 class 级别维护的属性。无论创建了多少个实例,都应该看到最新的和当前的值。 应用程序级缓存(例如所有可用产品的目录信息)也是静态的好例子。

非静态 = 任何 class 级别属性,每个实例都会有所不同。例如 - 在一个名为 Person 的 class 中 - name/age/address 等是实例级属性但 不是静态的 因为每个人都有自己的值以上属性。

我建议你读完这个语言基础教程(这会清除上面的很多问题)- https://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html