以下代码编译时出现错误,如图所示,我正常调用交换函数,就说我非法调用非静态,我实在 找不出那里出了问题,求大神指导!
class ArryToolDemo
{
public static void main(String[] args)
{
int[] arr={3,6,64,9,1,8};
ArryTool c=new ArryTool();
int max=c.getMax(arr);
System.out.println("max="+max);
int min=c.getMin(arr);
System.out.println("min="+min);
c.printArry(arr);
c.selectMax(arr);
c.printArry(arr);
}
}
class ArryTool
{
public 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 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 selectMax(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 void printArry(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.print(arr[x]+"]");
}
}
public void swap(int[] arr,int a,int b)
{
int temp=arr;
arr=arr[a];
arr[a]=temp;
}
}
|
|