2.4Java面向對象-數組工具類創建使用過程

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

javadoc命令
類和所有需要文檔註釋的成員必須設置爲public,才能文檔化。

4.調用該數組工具類,即調用它的class文件:
設置classpath,告訴java它的位置。

classpath = .;d:\myclass
發佈了36 篇原創文章 · 獲贊 0 · 訪問量 4581
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章