0

私はJavaの初心者で、このエラーに直面しました。

TA の給料の実数と TA が今週働いた時間数の整数を受け取り、TA に支払う金額を返す、pay という名前のメソッドを作成します。たとえば、pay(5.50, 6) を呼び出すと、33.0 が返されます。

TA は、8 時間以上の時間については、通常の給与の 1/2 の「残業代」を受け取る必要があります。

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

エラー:

データ型が一致していません。これは、整数 (int) である変数またはパラメーターに実数 (double) を格納しようとしたときによく発生します。
精度が失われる可能性
見つかった : ダブル
必須: 整数
       sum=(y-hours)*(1.5*x) + (hours*x);
                             ^
1 エラー
19 件の警告

しかし、エラーは + 記号を指しています。何が問題なのですか? found:double と表示されます。しかし、出力を2倍にしたいです。しかし、それは必要なintとして言った。

4

2 に答える 2

5

sumは であり、メソッドにint戻っているため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;
}

2 番目のエラーについては、クラスMathを見ると、 pi()存在しない場合、クラス 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 に答える