生成Javadoc时出现「默认构造函数未提供注释」错误,求解决
解决Javadoc报错:"use of default constructor, which does not provide a comment"
问题根源
CalculatorTester类没有显式定义任何构造器,Java会自动为它生成一个隐式无参默认构造器。而你的Javadoc生成规则(大概率开启了严格检查)要求所有构造器必须配备Javadoc注释,这个隐式构造器没有注释,因此触发了报错。
解决方案
优先选择方案一,符合作业对Javadoc合规性的要求:
方案一:显式声明带Javadoc的默认构造器
修改CalculatorTester类,手动添加无参构造器并补上Javadoc注释:
/** * 用于测试Calculator类算术功能的测试类 * * @author wesal * @version 1.0 */ public class CalculatorTester{ /** * 创建CalculatorTester实例的默认构造器 */ public CalculatorTester() { // 无需额外逻辑,仅显式声明并添加注释 } /** * 程序入口,负责接收用户输入、调用Calculator方法并输出结果 * * @param args 命令行参数(未使用) */ public static void main(String[] args){ double num1; double num2; System.out.print("Enter the first number: "); Scanner in = new Scanner(System.in); num1 = in.nextDouble(); System.out.println(" "); System.out.println("Enter the second number: "); num2 = in.nextDouble(); System.out.println(" "); Calculator calc = new Calculator(num1,num2); // 修正拼写错误:Opreations → Operations System.out.println("The Arithmetic Operations Results: "); System.out.println(num1 + " + " + num2 + " = " + calc.add()); System.out.println(num1 + " - " + num2 + " = " + calc.subtract()); System.out.println(num1 + " * " + num2 + " = " + calc.multiply()); System.out.println(num1 + " / " + num2 + " = " + calc.divide()); System.out.println((int) num1 + " ^ " + (int) num2 + " = " + calc.power()); } }
方案二:调整Javadoc生成参数(仅当作业允许放宽检查时使用)
如果作业不强制要求严格检查所有构造器,可以在生成Javadoc时关闭缺失注释的检查,执行命令:
javadoc -Xdoclint:-missing 你的Java文件路径
但不推荐这种方式,因为不符合作业对Javadoc完整性的要求。
额外提示
- 修正了代码中
Opreations的拼写错误(应为Operations),避免生成的Javadoc出现低级错误; CalculatorTester的类注释原内容"A Calculator"不准确,已修改为贴合类功能的描述,让Javadoc更具可读性。
内容的提问来源于stack exchange,提问作者Milo Vibes
相关产品推荐
相关产品推荐

