| 这里单独定义了一个工具类
 class ArrayTool
 {
 private ArrayTool(){}
 //获取最大值
 public static int getMax(int[] arr)
 {
 int max=0;
 for (int x=1;x<arr.length;x++)
 {
 if(arr[x]>arr[max])
 max=x;
 }
 return arr[max];
 }
 //获取最小值
 public static int getMin(int[] arr)
 {
 int min=0;
 for (int x=1;x<arr.length;x++)
 {
 if(arr[x]<arr[min])
 min=x;
 }
 return arr[min];
 }
 //选择排序
 public static void selectSort(int[] arr)
 {
 for (int x=0;x<arr.length-1;x++ )
 {
 for (int y=x+1;y<arr.length;y++ )
 {
 if(arr[x]>arr[y])
 {
 swap(arr,x,y);
 }
 }
 }
 }
 //冒泡排序
 public static void bubbleSort(int[] arr)
 {
 for (int x=0;x<arr.length-1;x++ )
 {
 for (int y=0;y<arr.length-x-1 ;y++ )
 {
 if(arr[y]>arr[y+1])
 {
 swap(arr,y,y+1);
 }
 }
 }
 }
 //位置互换
 private static void swap(int[] arr,int a,int b)//为排序准备的,不需要公开
 {
 int temp=arr[a];
 arr[a]=arr[b];
 arr[b]=temp;
 }
 //数组打印输出
 public static void printArray(int[] arr)
 {
 System.out,print("[");
 for (int x=0;x<arr.length;x++ )
 {
 if(x!=arr.length-1)
 System.out.print(arr[x]+", ");
 else
 System.out.println(arr[x]+"]");;
 }
 }
 }
 主程序中这样使用:
 int[] arr={3,1,4,32,8};
 int min=ArrayTool.getMin(arr);
 System.out.println("min="+min);
 为什么还会报错无法从静态上下文中引用非静态方法getMin(int[] arr)?
 不知道是什么原因
 |