我试图创建一个圆形对象,它接受一个浮点值作为我的圆的半径的参数,而且我对数据类型不太好所以我想我是不是只做了一切浮动我不会有任何不匹配错误,所以我在下面做了这个:
public class Circle {
protected float Circle;
protected float radius;
// Constructor
public Circle(float newRadius) {
radius = newRadius;
}
// Observers
public float getRadius() {
return radius;
}
public float perimeter() {
{
return ((2) * (3.14) * (radius));
}
}
并且它返回"类型不匹配无法将double转换为float"对于圆的周长,我乘以多行的误差。有人可以解释我对我做错了什么吗?
可以通过将其转换为浮动来简单地忽略它,但它不会返回我应该得到的正确值#34; 31.400002"
答案 0 :(得分:1)
3.14
的类型为double
,因此整个表达式((2) * (3.14) * (radius))
会提升为double
。您可以通过附加3.14
将float
更改为F
字面值:
return ((2) * (3.14F) * (radius));