【发布时间】:2021-12-17 13:00:15
【问题描述】:
package geometrypack;
public class Calc {
public static double areaOfCircle(int radius) {
if (radius <= 0) {
System.out.println("Input cannot be a negative number.");
}
return (Math.PI * (radius * radius));
} // areaOfCircle method
public static double areaOfRectangle(int length,int width) {
if (length <= 0 || width <= 0) {
System.out.println("Input cannot be a negative number.");
}
return length * width;
} // areaOfRectangle method
public static double areaOfTriangle(int base, int height) {
if (base <= 0 || height <= 0) {
System.out.println("Input cannot be a negative number.");
}
return (base * height) * 0.5;
}
}
所以,我要做的就是让每个方法在打印错误消息时不返回该区域。我希望它返回该区域或返回错误消息。我尝试将 return 语句放在 else 语句中,但该方法不允许这样做。有什么建议吗?
【问题讨论】:
-
我没有看到负维度或零维度的问题。在所有这些情况下,他们仍然会为您提供正确的区域。无论如何,在违反调用者前置条件的情况下“不返回值”的主要方法是抛出异常。
-
我也没有,但是教练很挑剔,希望我们一字不差地听从他的指示,否则我们会扣分。他特别希望班级有这个错误信息。感谢您的回复。
-
如果您的导师逐字逐句地指示您必须“返回错误消息”,那么就有非常错误的地方,因为错误消息是字符串,而这些方法不能返回字符串,因为它们被声明为类型
double。因此,请编辑您的问题,以确保您准确地包含了您的要求。 -
在这种情况下,我建议您将这些说明逐字逐句作为问题的一部分。
-
好的,我知道了。谢谢大家的回复,我从现在开始做。所以基本上,因为它是一个返回双精度的方法,它会以一种或另一种方式返回它。但无论如何,这是他的指示。 “一种接受圆半径并返回圆面积的静态方法。”然后在页面下方:“如果负值用于圆的半径、矩形的长度或宽度或三角形的底边或高度,则这些方法应显示错误消息。”
标签: java conditional-statements static-methods