1.數組工具類
//數組工具類,(爲了給別人使用class文件,需要寫文檔註釋)
/**
建議一個用於操作數組的工具類,其中包含常見的對數組操作的函數如:最值,排序等。
@author 辰生
@version v1.0
*/
public class ArrayTool //想要該類文檔化,就類和所有需要文檔註釋的成員必須設置爲public,此時類名和文件名必須一致
{//沒有成員變量,對象沒有意義
private ArrayTool(){} ; //該類中的方法都是靜態的,所以該類是不需要創建對象的。
//爲了保證不讓其他程序創建該類對象,可以將該類的構造函數私有化。
/**
獲取整型數組的最大值。
@param arr 接受一個元素爲int類型的數組
@return 該數組的最大的元素值
*/
public static int getMax(int[] arr)
{
int max = arr[0];
for(int x:arr)
if(x >max)
max = x;
return max;
}
/**
獲取指定元素在指定數組中的索引。
@param arr 接受一個元素爲int類型的數組
@param key 要找的元素
@return 返回該元素第一次出現的位置,如果不存在返回-1
*/
public static int getIndex(int[] arr, int key)
{
for (int x = 0; x < arr.length; x++)
{
if(arr[x] == key)
return x;
}
return -1;
}
/**
對數組進行選擇排序
@param arr 接受一個元素爲int類型的數組
*/
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);
}
}
}
/** 文檔註釋不接收private
用於給數組進行元素的位置置換。
@param arr 接受一個元素爲int類型的數組
@param x 第一個元素的索引
@param y 第二個元素的索引
*/
private static void swap(int[] arr, int x, int y)
{
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
/**
將int數組轉換成字符串。格式是:[e1,e2,...]
@param arr 接受一個元素爲int類型的數組
@return 返回該數組的字符串表現形式。
*/
public static String arrayToString(int[] arr)
{
String str = "[";
for (int x = 0; x < arr.length; x++)
{
if(x != arr.length -1)
str += arr[x] + ",";
else
str += arr[x] + "]";
}
return str;
}
}
2.主類:
/*static舉例:
求數組最大值
*/
class ArrayToolDemo
{
/*
主函數保證程序的獨立運行
*/
public static void main(String[] args)
{
int[] arr = {4,8,2,9,7,6};
// ArrayTool tool = new ArrayTool(); //因爲ArrayTool類中沒有成員變量,所以對象創建沒有意義(這類類稱爲工具類,不多),
//所以工具類裏的都設置靜態函數,直接通過類名調用。
//不需要創建對象,所以可以通過設置不讓對象訪問它的構造函數,就無法創建類。即把構造函數設置爲私有。
int max = ArrayTool.getMax(arr);
//java編譯器發現該類中用到其他類,會去classpath路徑或者當前路徑去找這個類,
//如果沒有,會繼續去找和這個類名相同的.java文件,然後編譯產生這個class文件。
System.out.println("max = " + max);
int index =ArrayTool.getIndex(arr, 10);
System.out.println("index = " + index);
ArrayTool.selectSort(arr);
System.out.println("arr[] : " + ArrayTool.arrayToString(arr));
}
/**
獲取整型數組的最大值。不推薦放在主類裏
*/
/*
static int getMax(int[] arr)
{
int max = arr[0];
for(int x:arr)
if(x >max)
max = x;
return max;
}*/
}
3.生成文檔註釋:javadoc命令
javadoc -d myhelp -author -version ArrayTool.java
類和所有需要文檔註釋的成員必須設置爲public,才能文檔化。
4.調用該數組工具類,即調用它的class文件:
設置classpath,告訴java它的位置。
classpath = .;d:\myclass