测试前置条件的JAVA可执行断言
我是Java新手,试图通过在线材料学习一些东西。 例如,我应该编写一个断言来验证操作的前提条件测试前置条件的JAVA可执行断言,java,assertion,Java,Assertion,我是Java新手,试图通过在线材料学习一些东西。 例如,我应该编写一个断言来验证操作的前提条件 public String getCategory(float price, float size, float weight) 前提是所有这些都应该是积极的。 我不知道从哪里开始。 如何编写此命令?尝试使用if条件 public String getCategory(float price, float size, float weight){ if(price < 0) {
public String getCategory(float price, float size, float weight)
前提是所有这些都应该是积极的。
我不知道从哪里开始。
如何编写此命令?尝试使用if条件
public String getCategory(float price, float size, float weight){
if(price < 0) {
// do something or throw exception
}
}
你可以试试
public String getCategory(float price, float size, float weight) {
assert price >= 0 && size >= 0 && weight >= 0: "Invalid parameters";
}
如果需要更详细的错误消息,请执行以下操作:
public String getCategory(float price, float size, float weight) {
assert price >= 0: "price < 0";
assert size >= 0: "size < 0";
assert weight >= 0: "weight < 0";
}
不要忘记,当您的程序被其他人使用时,在检查边界时使用异常会更好。我只在编码时使用断言,因为其他人可能不会使用已启用的断言运行您的代码。希望这有帮助,这是我的第一个答案。代码需要在启用断言的情况下编译,也需要在启用断言的情况下执行,对吗?这也帮助我理解并学到了一些新的东西。谢谢你的帮助。
public String getCategory(float price, float size, float weight) {
assert price >= 0: "price < 0";
assert size >= 0: "size < 0";
assert weight >= 0: "weight < 0";
}
java -ea MyMainClass