javadoc 命令行用法
-overview 从 HTML 文件读取概览文档
-public 仅显示 public 类和成员
-protected 显示 protected/public 类和成员 (默认值)
-package 显示 package/protected/public 类和成员
-private 显示所有类和成员
-help 显示命令行选项并退出
-d <路径>若不存在会自动创建(. 表示当前目录)
-version 提取版本号
-auther 提取作者
<源文件>
注意:提取的类容只能识别以下格式的注释
/**
描述
@关键内容
*/
/**
一个操作数组的工具类,包含常用的数组操作方法,如排序,查找,最值,打印
@author bingo
@version v1.0
*/
public class ArrayTool
{
private ArrayTool(){}//该类中的方法都是静态的,所以该类是不需要的创建对象的。
//为了保证不让其他成创建该类对象可以将构造函数私有化
/**
获取整型数组的最大值。
@param arr 接收一个元素为int类型的数组。
@return 该数组的最大的元素值
*/
public static int maxElement(int [] arr)
{
//方法一,记录最大数据
int maxElement = arr[0];
for (int i = 0;i<arr.length ;i++ )
{
if( arr[i]>maxElement)
maxElement=arr[i];
}
return maxElement;
//方法二,记录下标
/*
int maxIndex=0;
for (int i = 0;i<arr.length ;i++ )
{
if(arr[i]>arr[maxIndex])
maxIndex=i;
}
return arr[maxIndex];
*/
}
/**
对数组进行选择排序。
@param arr 接收一个元素为int类型的数组。
*/
public static void sortChose(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);
}
}
}
}
/**
对数组进行冒泡排序
@param arr 接受一个整型变量的数组
*/
public static void sortBubble(int [] arr)
{
//方法一
for (int i = 0;i<arr.length-1 ;i++ )//-1最后一个不用比
{
for (int j = 0; j<arr.length-1-i ;j++ )//-1避免最后一个比较时超出下标范围
{
if (arr[j]>arr[j+1])//相邻的比较,不能用j++,也不能用++j
{
swap(arr,j,j+1);
}
}
}
/*
//方法二
for (int i = arr.length-1; i>0 ;i-- )
{
for (int j = 0;j<i ; j++ )
{
if (arr[j]>arr[j+1])//相邻的比较
{
swap(arr,j,j+1);
}
}
}
*/
}
/**
对整型有序数组插入一个整型数据保持有序性不变,返回要插入的下标
@param arr 接受一个整型数组变量
@param key 接受一个整型变量的要查找的元素
@return 返回要插入的下标
*/
public static int insertArr(int [] arr,int key)
{
//int insertId = arr.length;
int right = 0,left = arr.length-1,mid ;
while (right<=left)
{
mid = (right+left)>>1;
if (key<arr[mid])
left = mid - 1;
else if (key>arr[mid])
right = mid +1;
else
//insertId = mid+1;//如果有此元素,则插在原有元素后面
return mid+1;
}
return mid;
}
/**
输出数组成为字符串
@param arr 接受一个整型变量的数组
*/
public static void printArr( int [] arr)
{
System.out.print("[ ");
for (int i = 0;i<arr.length ;i++ )
{
if (i==arr.length-1)
System.out.println(arr[i]+" ]");
else
System.out.print(arr[i]+", ");
}
}
/*
用于给数组进行元素的位置置换。
@param arr 接收一个元素为int类型的数组。
@param a 接受一个元素为int类型的变量。
@param b 接受一个元素为int类型的变量。
*/
private static void swap(int [] arr,int a,int b)
{
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
/**
有序数组的折半查找
@param arr 接受一个整型数组变量
@param key 接受一个整型变量的要查找的元素
@return 返回下标,不存在则返回-1
*/
public static int binarySearch(int [] arr,int key)
{
int right = 0,left = arr.length-1,mid ;
while (right<=left)
{
mid = (right+left)>>1;
if (key<arr[mid])
left = mid - 1;
else if (key>arr[mid])
right = mid +1;
else
return mid;
}
return -1;//没找到
}
/**
有序数组的顺序查找
@param arr 接受一个整型数组变量
@param key 接受一个整型变量的要查找的元素
@return 返回下标,不存在则返回-1
*/
public static int getIndex(int [] arr, int key)
{
for (int i = 0;i<arr.length ;i++ )
{
if (key==arr[i])
{
return i;
}
}
return -1;//查找无此元素
}
}