08-01 java 帮助文档的制作和使用,使用jdk提供的帮助文档

时间:2022-04-11 22:09:03

01_帮助文档的制作和使用

制作说明书的流程

如何制作一个说明书呢?
A:写一个工具类
B:对这个类加入文档注释
怎么加呢?
加些什么东西呢?
C:用工具解析文档注释
javadoc工具
D:格式
javadoc -d 目录 -author -version ArrayTool.java 目录:就可以写一个文件夹的路径 制作帮助文档出错:
找不到可以文档化的公共或受保护的类:告诉我们类的权限不够----工具类前面要加public

写一个工具类,对这个类加入文档注释

/**
* 这是针对数组进行操作的工具类
* @author 小刘
* @version V.10
*/
public class ArrayTool {
//把构造方法私有,外界就不能在创建对象了
//这是私有构造
private ArrayTool(){} /**
* 这是遍历数组的方法,遍历后的格式是:[元素1, 元素2, 元素3, ...]
* @param arr 这是要被遍历的数组
*/
public static void printArray(int[] arr) {
System.out.print("[");
for(int x=0; x<arr.length; x++) {
if(x == arr.length-1) {
System.out.println(arr[x]+"]");
}else {
System.out.print(arr[x]+", ");
}
}
} /**
* 这是获取数组中最大值的方法
* @param arr 这是要获取最大值的数组
* @return 返回数组中的最大值
*/
public static int getMax(int[] arr) {
int max = arr[0]; for(int x=1; x<arr.length; x++) {
if(arr[x] > max) {
max = arr[x];
}
} return max;
} /**
* 获取指定元素在数组中第一次出现的索引,如果元素不存在,就返回-1
* @param arr 被查找的数组
* @param value 要查找的元素
* @return 返回元素在数组中的索引,如果不存在,返回-1
*/
public static int getIndex(int[] arr,int value) {
int index = -1; for(int x=0; x<arr.length; x++) {
if(arr[x] == value) {
index = x;
break;
}
} return index;
}
}
用工具解析文档注释,javadoc工具

javadoc -d 目录 -author -version ArrayTool.java

目录:就可以写一个文件夹的路径

08-01 java 帮助文档的制作和使用,使用jdk提供的帮助文档

生成的说明文档

可以找工具将html文档转成chm格式

08-01 java 帮助文档的制作和使用,使用jdk提供的帮助文档

08-01 java 帮助文档的制作和使用,使用jdk提供的帮助文档

08-01 java 帮助文档的制作和使用,使用jdk提供的帮助文档

工具类配合说明书的使用

/*
我想要对数组进行操作
*/
class ArrayDemo {
public static void main(String[] args) {
//定义数组
int[] arr = {28,55,37,46,19}; //遍历
ArrayTool.printArray(arr); //获取最值
int max = ArrayTool.getMax(arr);
System.out.println("max:"+max); //获取55的索引值
int index = ArrayTool.getIndex(arr,55);
System.out.println("index:"+index);
}
}

使用jdk提供的帮助文档

1:打开帮助文档
2:点击显示,找到索引,看到输入框
3:知道你要找谁?以Scanner举例
4:在输入框里面输入Scanner,然后回车
5:看包
java.lang包下的类不需要导入,其他的全部需要导入。 要导入:
java.util.Scanner
6:再简单的看看类的解释和说明,别忘了看看该类的版本
7:看类的结构
成员变量 字段摘要
构造方法 构造方法摘要
成员方法 方法摘要
8:学习构造方法
A:有构造方法 就创建对象
B:没有构造方法 成员可能都是静态的
9:看成员方法
A:左边
是否静态:如果静态,可以通过类名调用
返回值类型:人家返回什么,你就用什么接收。
B:右边
看方法名:方法名称不要写错
参数列表:人家要什么,你就给什么;人家要几个,你就给几个

实例:Math类的随机数功能

/*
Math:类包含用于执行基本数学运算的方法 由于Math类在java.lang包下,所以不需要导包。
特点:
没有构造方法,因为它的成员全部是静态的。 掌握一个方法:
获取随机数
public static double random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
*/
class MathDemo {
public static void main(String[] args) {
//获取一个随机数
//double d = Math.random();
//System.out.println(d); //需求:我要获取一个1-100之间的随机数,肿么办?
for(int x=0; x<100; x++) {
int number = (int)(Math.random()*100)+1;
System.out.println(number);
}
}
}

实例:猜数小游戏

/*
猜数字小游戏(数据在1-100之间) 分析:
A:程序产生一个随机数。(被猜的)
B:键盘录入数据。(你猜的)
C:把你猜的和被猜的进行比较
a:大了
b:小了
c:猜中了
D:给出多次猜的机会,猜中就结束。
while()循环,猜中就break
*/
import java.util.Scanner; class GuessNumber {
public static void main(String[] args) {
//程序产生一个随机数。(被猜的)
int number = (int)(Math.random()*100)+1;
//System.out.println(number); //给出多次猜的机会,猜中就结束。
while(true) {
//键盘录入数据。(你猜的)
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数据(1-100):");
int guessNumber = sc.nextInt(); //把你猜的和被猜的进行比较
if(guessNumber > number) {
System.out.println("你猜的数据"+guessNumber+"大了");
}else if(guessNumber < number) {
System.out.println("你猜的数据"+guessNumber+"小了");
}else {
System.out.println("恭喜你,猜中了");
break;
}
}
}
}