創建兩個類,第一個的是封裝一些功能,姑且稱爲“工具類”,如下:
/*
靜態的應用
*/
//建立一個類,有很多功能
class ArrayTool
{
private ArrayTool() {}//外界建立對象沒用了就,只能類名調用
//獲取最大值
public static int getMax(int [] arr)
{
int max= 0;
for(int i=1;i<arr.length;i++)
{
if(arr[i]>arr[max])
max =i;
}
return arr[max];
}
//獲取最小值
public static int getMin(int [] arr)
{
int min= 0;
for(int i=1;i<arr.length;i++)
{
if(arr[i]<arr[min])
min =i;
}
return arr[min];
}
//選擇排序
public static void selectSort(int [] arr)
{
for(int i=0;i<arr.length-1;i++)
for(int j=i+1;j<arr.length;j++)
{
if(arr[i]>arr[j])
swap(arr,i,j);
}
printarry(arr);
}
//冒泡排序
public static void bubbleSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)//確定比較次數,如5個數比較3次就夠了
for(int j=0;j<arr.length-i-1;j++)//讓每次比較元素減少
{
if(arr[j]>arr[j+1])
swap(arr,j,j+1);
}
printarry( arr);
}
private static void swap(int[]arr,int a,int b)
{
int temp=arr[a];
arr[a]=arr[b];
arr[b]=temp;
}
//定義打印函數
private static void printarry(int [] arry)
{
System.out.print("[");
for(int i=0;i<arry.length;i++)
{
if (i!=arry.length-1)
System.out.print(arry[i]+",");
else
System.out.print(arry[i]+"]");
}
}
}
/*
//之前的方法
public class StaticDemo
{
public static void main(String[] args)
{
int [] arr= {3,4,1,8};
int max=getMax(arr);
System.out.println("max="+max);
}
//功能函數
public static int getMax(int [] arr)
{
int max= 0;
for(int i=1;i<arr.length;i++)
{
if(arr[i]>arr[max])
max =i;
}
return arr[max];
}
}
//單獨定義一個類
class Test
{
public static int getMax(int [] arr)
{
int max= 0;
for(int i=1;i<arr.length;i++)
{
if(arr[i]>arr[max])
max =i;
}
return arr[max];
}
}
*/
第二個類起調用作用,如下:
//另外建的類,來調用工具類ArrayTool
public class ArrayToolDemo
{
public static void main(String[] args)
{
int [] arr = {3,2,5,6,98,25};
System.out.println("Hello world!");
int max=ArrayTool.getMax(arr);
System.out.println("max="+max);
ArrayTool.bubbleSort(arr);
/*
ArrayTool tool=new ArrayTool();
int max=tool.getMax(arr);
System.out.println("max="+max);
tool.selectSort(arr);
*/
}
}
運行結果:
Hello world!
max=98
[2,3,5,6,25,98]