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

Java 获取错误:类型不兼容:可能从double转换为int,java,Java,我想计算一下服务员的小费是账单的15%。 当我运行编译器时,我得到了错误消息:不兼容的类型:可能从double到int的有损转换返回提示 尝试将方法的返回语句从int更改为double,如下所示: public class DebugThree1 { public static void main(String args[]) { double myCheck = 50.00; double yourCheck = 19.95; S

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

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

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;
    }
}

因为当像返回类型一样使用
int
时,您会失去精度。

因为您返回的是“int”,如果您想返回int,请尝试将double转换为“tip”

例:

最终双倍小费=账单*费率

int i=(int)tip


返回i

为什么返回一个
int
?您的
calcTip
方法声明为返回一个
int
,但您返回的是一个
double
(并在
main
中忽略它)。很抱歉,我对java比较陌生。我不得不修复这段代码上的多个错误,但这最后一点给了我一些麻烦。
   public static double calcTip(double bill){