【发布时间】:2019-10-05 10:20:47
【问题描述】:
我的程序计算圆锥的表面积 (pi * radius * slant-height)。我正在使用if-elseif 梯形图,它表示如果倾斜高度为空并输入垂直高度,程序将通过毕达哥拉斯定理计算倾斜高度。但是我不知道如何让程序接受一个空值
我尝试使用if(slant_height==null),但它说类型不兼容并且== 是"bad operator type"
{
public void CSAcone(double radius,double slant_height,double height) {
if (slant_height == null)
{
slant_height=Math.sqrt((radius*radius) + (height*height));
double CSA=(22*radius*slant_height) / 7;
System.out.println("radius= "+radius);
System.out .println("height= "+slant_height);
System.out .println("Curved Suface Area= "+CSA);
}
if(height == null)
{
double CSA=(22*radius*slant_height) / 7;
System.out.println("radius= " + radius);
System.out.println("height= " + slant_height);
System.out.println("Curved Suface Area= " + CSA);
}
}}
【问题讨论】:
-
在编写方法签名时,
slant_height永远不会为空,因为您不能通过为该变量提供null值来调用CSAcone,代码将无法编译。注意slant_height是double,而不是Double。 -
使用对象类型,而不是原始类型。
-
可以使用 isEmpty() 方法检查空值
-
@Saim, isEmpty() 方法只适用于字符串
标签: java