2-4练习提示 incompatible types: possible lossy conversion from double to float
来源:2-4 编程练习
晓舟
2021-03-01 12:44:58
public class DisCountDemo {
//根据商品总价输出折后总价
public float zhehoujia(float sum){
float zhehou;
if(sum<100) zhehou=sum;
else if(sum<=199) zhehou=sum*0.95;
else zhehou=sum*0.85;
return zhehou;
}
public static void main(String[] args) {
//定义对象
disCount rc = new disCount();
float price=200.0f;
//定义商品总价存放到变量中
System.out.println("折后商品价格为:"+rc.zhehoujia(price));
//调用方法,输出折后商品总价
}
}
2回答
同学你好,同学的代码中zhehou定义的float类型的,在else语句中,使用sum*0.95将结果赋值给zhehou,此时0.95是double类型,所以这里会出现报错,如下
可以在0.95后面添加f,表示是float类型的数值,如下
祝学习愉快~
晓舟
提问者
2021-03-01
public class DisCountDemo {
//根据商品总价输出折后总价
public float zhehoujia(float sum){
float zhehou;
if(sum<100.0) zhehou=sum;
else if(sum<=199.0) zhehou=sum*0.95;
else zhehou=sum*0.85;
return zhehou;
}
public static void main(String[] args) {
//定义对象
DisCountDemo rc = new DisCountDemo();
float price=200.0f;
//定义商品总价存放到变量中
System.out.println("折后商品价格为:"+rc.zhehoujia(price));
//调用方法,输出折后商品总价
}
}
//修改了一下还是有问题
相似问题