0

我是java初学者,遇到了这个错误。

编写一个名为 pay 的方法,它接受一个实数作为助教的薪水和一个整数作为助教本周工作的小时数,并返回支付助教的金额。例如,调用 pay(5.50, 6) 应该返回 33.0。

对于超过 8 小时的任何时间,TA 应获得 1 ½ 正常工资的“加班”工资。例如,通话工资 (4.00, 11) 应返回 (4.00 * 8) + (6.00 * 3) 或 50.0。

public double pay(double x,int y){
    int sum=0;
    double hours=8.0;
    if(y>hours){
       sum=(y-hours)*(1.5*x) + (hours*x);

    }
   return sum;
}

错误:

您的数据类型不匹配。当您尝试将实数 (double) 存储到整数 (int) 的变量或参数中时,通常会发生这种情况。
可能的精度损失
发现:双
必需:整数
       总和=(y-小时)*(1.5*x)+(小时*x);
                             ^
1 个错误
19 个警告

但是错误指向+号。它有什么问题?它说找到:双。但我希望我的输出翻倍。但它说根据需要int。

4

2 回答 2

5

由于sumis anint并且您正在返回sum您的方法,这就是您收到错误的原因。

public double pay(double x,int y){
    double sum=0;
    double hours=8.0;
    if(y>hours){
       sum=(y-hours)*(1.5*x) + (hours*x);

    }
   return sum;
}

对于第二个错误,如果你看一下类Mathpi()不存在,你必须调用类 Math 的静态变量,所以它应该是:

public double area(double x){
    x=Math.PI*Math.pow(x,2);
    return x;

}
于 2013-04-18T08:59:51.537 回答
0

数据类型 sum为 int,而您的方法期望返回数据类型为 double。

于 2013-04-18T09:07:31.200 回答