gpt4 book ai didi

Java 方法 boolean 值在应该为 true 时返回 false

转载 作者:行者123 更新时间:2023-12-01 12:25:31 24 4
gpt4 key购买 nike

我正在一个类中创建这个方法。我已经仔细检查过它和所有内容,它应该相应地工作。当我使用此方法在主方法中运行对象时,我总是得到错误的返回,即使它应该是正确的。

打印语句不打印,所以我无法检查值是否正确传入,我也尝试使 if 语句也返回 true,但它仍然返回 false!它让我头脑清醒,因为一切在逻辑上都是正确的。

是否存在我不知道的规则:如果出现问题, boolean 方法将自动返回 false?

public boolean addPartsDetails (String newDescription, double newCost) {

System.out.println("is description empty?: " + newDescription);
System.out.println("is cost negative?: " + newCost);

if (newDescription.isEmpty() | newCost < 0) {
return false;
}

else {
this.partsCost += cost;
String newPart = String.format("\t - %s (%.2f) \n", description, cost);
this.partsList = this.partsList.concat(newPart);
return true;
}
}

在主方法中:

 boolean addBool = tempObj.addPartsDetails(partDes, partCost);

if(addBool) {
System.out.println("\nPart details recorded sucessfullyfor vehicle \"" + tempObj.getRegNum() + "\"");
}
else {
System.out.println("\nError - invalid part details supplied!");
}

最佳答案

我相信你想使用||而不是 |这里:

  if (newDescription.isEmpty() | newCost < 0) {   

更改为

  if (newDescription.isEmpty() || newCost < 0) {   

| 用于按位 OR 运算,而 || 用于条件 OR

关于Java 方法 boolean 值在应该为 true 时返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26373962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com