1、API帮助文档的基本生成方式:
API:java应程序编程接口;也可以称API说明文档,由javaDoc命令生成。
1、在这里我以MyEclipse开发工具为例子。打开MyEclipse并新建一个项目。在项目下新建一个包,包名自己随便取即可。
2、在包里面需要新建一个.java类,这里以说明文字下面的DVD代码注释为示例。
@author 标明开发该类模块的作者
@param 标明参数
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@throws 表示抛出异常描述
@param 对方法中某参数的说明
@return 对方法返回值的说明
@exception 对方法可能抛出的异常进行说明
@deprecated 表示废弃。这里不建议使用
“@author”和“@verson”两个,大家有兴趣的可以去探究下其他的几个方法。
3、右键项目,选择Export选择java文件夹,点击java文件夹下面的Javadoc,然后点击“Next”
选择你要生成的java项目。并更改你想保存的API文件地址,点击“Finish”。
4、设置注释的修饰符生成范围,默认public型,如果需要详细程序详细注释可以改为private,点击“Finish”之后会有提示,只需要点击“Yes To All”即可。
5、打开你保存的文件夹,你会发现有很多生成的文件,那么应该点击那个一呢?聪明的你一定能猜到“index.html”双击打开它。
下面将列举辅助类Find,的属性解决基础DVD迷你租赁管理的5个基本数据操作优势。
下面依次为工具辅助类,工具类,实体类,。 测试类
//util 辅助类
package com.DVD.util;
import com.DVD.bean.Dvd;
/**
* fu注查找下标,与元素是否存在
* @author ASUS
*
*/
/*
* 用法之一遍历数组、集合时获得查询的目标位置,空位,目标对象,查询结果,
* 只要和对象相关的都能查。
*/
public class Find {
//DVD对象 重点时dv属于查找对象,一旦查到实体类所属需求关系将立马起取代作用。
public Dvd dv=null;
//查询结果
public boolean flag=false;
public boolean aDD=false;
//下标标记
public int index=-1;
}
//属性管理类
package com.DVD.util;
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.Scanner;
import com.DVD.bean.Dvd;
/**
* DVD属性的初始化与相关取值赋值操作
* @author ASUS
*
*/
public class DvdDataCenter {
//创建Dvd对象
static Dvd dv1=new Dvd("罗马假日",15,1,1,2);
static Dvd dv2=new Dvd("风声鹤唳",12,0,0,1);
static Dvd dv3=new Dvd("浪漫满屋",30,0,0,1);
//创建存储集合
public static ArrayList list=new ArrayList();
//初始化
static{
list.add(dv1);
list.add(dv2);
list.add(dv3);
}
/**
*
* @param name:电影名
* @return 返回查找结果,查找集合为空的位置,
*/
public Find find(String name){
Find fd=new Find();
//遍历
for (int i = 0; i < list.size(); i++) {
//这里如果时数组还可以知道为空元素的下标位置。
if(list.isEmpty()==true) {
//查第一个为空元素的位置
//fd.index=i;
break;
}
Dvd dv=(Dvd)list.get(i);
//查状态
if(dv.getDvdName().equals(name)&&dv.getStates().equals("可借")){
fd.aDD=true;
}else{
fd.aDD=false;
}
//找到了
if(dv.getDvdName().equals(name)){
//重名
fd.flag=true;
//获得重名对象
fd.dv=dv;
//找到重名下标
fd.index=i;
return fd;
//未找到
}else{
//未重名
fd.flag=false;
}
}
return fd; //?
}
}
//流程工具类
package com.DVD.util;
import java.util.InputMismatchException;
import java.util.Scanner;
import com.DVD.bean.Dvd;
import com.assist.DvdMenu;
/**
* Dvd租赁管理类
* @author ASUS
*
*/
public class DvdManager {
//创建Dvd数据中心管理类
DvdDataCenter ddc=new DvdDataCenter();
//创建界面对象
public DvdMenu menu=new DvdMenu();
//Dvd操作变量
public Dvd dv=null;
/*
* 获取String输入的方法
*/
public String getString(String need){
Scanner input=new Scanner(System.in);
System.out.print(need);
String number=input.next();
return number;
}
/*
* 创建获取int输入方法
*/
private int getInt(String need){
Scanner input=new Scanner(System.in);
System.out.print(need);
int number=input.nextInt();
return number;
}
/*
* 获取功能编号
*/
public int getNumber()throws InputMismatchException,Exception{
int number=getInt("请输入您要操作的功能编号:");
return number;
}
public void execure(int number)throws InputMismatchException,NullPointerException,Exception{
switch(number){
case 1:
System.out.println(" >>>新增DVD<<<");
//新增时只需要添加编号和名字到集合中
addDVD();
break;
case 2:
System.out.println("\n >>>查看DVD<<<\n");
//遍历MAP集合的键值信息
lookForDvd();
break;
case 3:
System.out.println("\n >>>删除DVD<<<\n");
//根据Dvd名用map接口的remove()删除
deleteDVD();
break;
case 4:
System.out.println("\n >>>借出DVD<<<\n");
//借出DVD需要在未借状态,借完后需要更改DVD状态。
borrowDvd();
break;
case 5:
System.out.println("\n >>>归还DVD<<<\n");
//归还时根据DVD名更改DVD可借状态,与录入的天数计算费用并找零
returnDvd();
break;
case 6:
System.out.println("\n感谢使用迷你DVD管理器,再见!!!");
System.exit(1);
default:
judge(number);
}
}
/**
* 归还Dvd
* @throws InputMismatchException,Exception
*/
private void returnDvd() throws InputMismatchException,Exception {
String name=getString("请录入您要归还的DVD片名:");
Find fd=ddc.find(name);
//要先有这本书并且状态为已借
if(fd.flag&&fd.dv.getStates().equals("已借")){
//先调用find方法找到dv对象。
int day=getInt("\n请录入借出天数,不满以添按一天算,计费按天/元计算: ");
double sum=day*1.0;
double sumPrice=getInt("DVD片名:"+name+";"+day+"天的租赁总费用请支付:"+sum+"元:");
if((sumPrice-sum)>=0){
System.out.println("找零:"+(sumPrice-sum)+"元,归还成功~~");
}else{
System.out.println("对不起!您的支付金额不足,归还失败~~");
}
}else{
System.out.println("您输入的DVD名不存在,归还失败!");
}
}
/**
* 租赁DVD
* @throws InputMismatchException,Exception
*/
private void borrowDvd() throws InputMismatchException,Exception {
String name=getString("请输入您要借取的DVD片名:");
Find fd=ddc.find(name);
//必须先有这本书并且状态为可借
if(fd.flag){
if(fd.aDD){
fd.dv.setStatus(2);
System.out.println("恭喜您,借取成功!");
}else{
System.out.println("抱歉您需要的DVD:"+name+"已借出~");
}
}else{
throw new Exception("抱歉!您需要的DVD:"+name+"我们这暂时没有~~");
}
}
/**
* 新增DVD
*/
private void addDVD() {
String name=getString("\n请输入您新增的DVD片名:");
//调用辅助方法Find查看如果输入的片名找到了flag==ture有重名,如果没找到false没有重名;
Find find=ddc.find(name);
if(find.flag){
System.out.println("添加失败,DVD:"+name+"已经存在!");
}else{
//新增默认 借出 0次,租赁日期0天,当前盈利价格0元,状态可借。
ddc.list.add(new Dvd(name,0,0,0,1));
System.out.println("您添加的DVD:"+name+"是新DVD,添加成功~~");
}
}
/**
* 查询Dvd:三种方法之一Iterator
*/
private void lookForDvd() {
System.out.println("DVD片名\t借用次数\t借用天数\t当前费用\tDVD状态\n");
//遍历map集合
for(Object obj:ddc.list){
Dvd name=(Dvd)obj;
System.out.println(name.getDvdName()+"\t"+name.getBorrowCounts()+"\t"+name.getDay1()+
"\t"+name.getPrice()+"\t"+name.getStates());
}
}
/**
* 删除DVD
* @throws InputMismatchException,Exception
*/
public void deleteDVD() throws InputMismatchException,Exception {
String name=getString("请输入您要删除的DVD片名:");
Find find=ddc.find(name);
if(find.flag){
ddc.list.remove(find.index);
//判断删除成功没有
if(ddc.list.contains(find.dv)){
System.out.println("DVD:"+name+"删除失败");
}else{
System.out.println("DVD:"+name+"删除成功");
}
}else{
System.out.println("您录入的DVD名不存在,删除失败~~");
}
}
/**
* 新增DVD
*/
// private void addDVD() {
// String name=getString("请输入您要新增的DVD名:");
// //记录长度
// int length=ddc.map.size();
// //新增默认 借出 0次,租赁日期0天,当前盈利价格0元,状态可借。
// dv=new Dvd(0,0,0,1);
// ddc.map.put(name,dv);
// //如果存放成功则存放后的长度必定大于存放前长度,如果存放失败
// if(ddc.map.size()>length){
// System.out.println("DVD:"+"《"+name+"》"+"新增成功!\n");
// //如果添加新DVD后长度与原长度不变则表示录入失败
// }else if(ddc.map.size()<=length){
// System.out.println("录入失败,DVD:"+"《"+name+"》"+"重复!!");
// }
// }
/**
* 录入判断
* @throws InputMismatchException, Exception 录入错误
*/
private void judge(int number) throws InputMismatchException, Exception {
if(number<1||number>6){
System.out.println("您录入的编号范围有误请重新输入1~6整数\n");
}else{
throw new Exception("您录入格式不正确,请重新录入\n");
}
}
/**
* 查找结果
*
*/
}
//控制台界面类
package com.assist;
/**
* Dvd租赁系统
* @author ASUS
*
*/
public class DvdMenu {
public void show(){
System.out.println("\n >>>欢迎使用迷你DVD管理器");
System.out.println("------------------------");
System.out.println("\t编号1.新增DVD\n");
System.out.println("\t编号2.查看DVD\n");
System.out.println("\t编号3.删除DVD\n");
System.out.println("\t编号4.借出DVD\n");
System.out.println("\t编号5.归还DVD\n");
System.out.println("\t编号6.退出租赁管理器\n");
System.out.println("------------------------");
}
}
//DVD实体类
package com.DVD.bean;
public class Dvd {
//DVD编号
private int number;
//DVD名
private String dvdName;
//借用次数
private int borrowCount;
//借用天数
private int day;
//借用价格
private double sumPrice;
//DVD所属状态
private int status;
//状态属性值的属性值描述
public String getStates(){
if(status==1) return "可借";
if(status==2) return "已借";
return "?";
}
public String getBorrowCounts(){
return this.borrowCount+"次";
}
public String getPrice(){
return this.sumPrice+"元";
}
public Dvd() {
}
public String getDay1(){
return this.day+"天";
}
public Dvd(String dvdName, int borrowCount, int day, double sumPrice, int status) {
this.dvdName=dvdName;
this.borrowCount = borrowCount;
this.day = day;
this.sumPrice = sumPrice;
this.status = status;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getDvdName() {
return dvdName;
}
public void setDvdName(String dvdName) {
this.dvdName = dvdName;
}
public int getBorrowCount() {
return borrowCount;
}
public void setBorrowCount(int borrowCount) {
this.borrowCount = borrowCount;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public double getSumPrice() {
return sumPrice;
}
public void setSumPrice(double sumPrice) {
this.sumPrice = sumPrice;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
}
//测试类
package com.test;
import java.util.InputMismatchException;
import com.DVD.util.DvdManager;
/**
* 测试dvd管理器管理功能
* @author ASUS
*
*/
public class TestDvd {
public static void main(String[] args) {
//Dvd管理类对象
DvdManager dm=new DvdManager();
while(true){
//异常捕获
try{
//进入租赁管理界面
dm.menu.show();
//获取功能编号
int number=dm.getNumber();
//执行功能编号
dm.execure(number);
}catch(InputMismatchException e){
System.err.println("您录入格式有误~~");
}catch(NullPointerException e){
System.err.println("操作异常~~");
}catch(Exception e){
System.out.println(e.getMessage());
}finally{
System.out.println("");
}
}
}
}
//