(三十)工具类

封装的方法
/**
这是一个定义了操作数组常用功能的工具类,比如求最大值,选择排序,查找
@author czy
@version 1.0
*/
public class ArrayTool {
    /*
    *    对类的 构造函数私有化后,调用时就不能通过实例化对对象访问,只能通过类名去访问
    */
    private ArrayTool() {}
    /**
    求数组最大值
    @param int[] 接受一个 整形的数组
    @return int 返回一个整形的最大值
    */
    public static int getMax(int[] arr) {
        int max = arr[0];
        for(int i = 1;i<arr.length;i++) {
            if(max < arr[i]) {
                max = arr[i];
            }
        }
        return max;
    }
    /**
    数组的选择排序
    @param int[] 接受一个整形数组
    */
    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[j] < arr[i]) {
                    exchange(arr,j,i);
                }
            }
        }
    }
    /*
    *    两个变量值的交换
    */
    private static void exchange(int[] arr,int i,int j) {
        int temp;
        temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
    /**
    数组的二分法查找
    @param int[] 接受一个整形数组
    @param int 接受被查找的数
    @return int 返回的是下标或-1
    */
    public static int halfSearch(int[] arr,int key) {
        int min = 0,max = arr.length -1,mid;
        while(min<=max) {
            mid = (min + max)>>1;
            if(key > arr[mid]) {
                min = mid + 1;
            } else if(key<arr[mid]){
                    max = mid -1;
            } else {
                return mid;
            }
        }
        return -1;
    }
 
}

 

 
调用方:
/*
*    工具类的封装一般都为静态
*/
class Demo11 {
    public static void main(String[] args) {
        //静态的应用:工具类
        //ArrayTool arrayTool = new ArrayTool();
        int[] arr = {34,2,56,78};
        //int max = arrayTool.getMax(arr);
        int max = ArrayTool.getMax(arr);
        System.out.println(max);
    }
}
注:私有属性是不需要进行注释的。java文件名和封装的工具类的名称需要一致,封装的类必须用public提高为最高权限
写完后再控制台输入命令 :javadoc -d doc ArrayTool.java
doc为创建的文档说明的文件夹目录名称
ArrayTool.java时需要进行文档生成的java文件
-d 后面可以跟路径  如果为.则默认当前目录下也可以指定目录
生成后,会在doc文件中生成很多的html文件,我们只需要打开index.html即可
生成后的文档说明如图所示:
posted @ 2018-07-27 15:21  狗尾草的博客  阅读(186)  评论(0编辑  收藏  举报