获取错误:不兼容的类型:可能从double转换为int的有损转换

时间:2016-02-25 20:48:32

标签: java

public class DebugThree1
{
    public static void main(String args[])
    {
        double myCheck = 50.00;
        double yourCheck = 19.95;
        System.out.println("Tips are")
        calcTip(myCheck);
        calcTip(yourCheck);
    }

    public static int calcTip(double bill)
    {
        final double RATE = 0.15;
        final double tip = bill * RATE;
        System.out.println("The tip should be at least " + tip);
        return tip;
    }
}

我试图以15%的账单计算服务员小费。 当我运行编译器时,我收到错误消息:不兼容的类型:可能有损转换从double返回int返回提示;

2 个答案:

答案 0 :(得分:0)

尝试将方法的return语句从int更改为double,如下所示:

   public static double calcTip(double bill){

因为使用int之类的返回类型会导致精度损失。

答案 1 :(得分:0)

因为你要返回一个“int”,如果你想返回一个int,请尝试对“tip”进行类型转换

前:

最后双提示=账单*费率;

int i =(int)tip;

返回i;