2012-04-10 7 views
-4

答えは返されるべきですが何らかの理由で表示されません。私はforループの中で印刷し、それが正解であることを見ました。答えを返すことができません

public class Salary 
{ 
    public static void main (String[]args) 
    { 
     double [] salary = {20000.00}; 
     double riseRate = 1.07; 

     calculateSalary(salary, riseRate); 
    } 
    public static double [] calculateSalary(double [] salary, double riseRate) 
    { 
     for (int i=0; i<salary.length; i++) 
     { 
      salary [i] = salary [i] * riseRate; 
     } 
     return salary; 
    } 
} 

答えて

1

配列を返します。給料はあなたの最初のポジションにあります。あなたが使用する必要がある給料を見たい場合は、あなたの方法では

return salary[0]; 

を入力してください。メインで

または

System.out.println(calculateSalary(salary,riseRate)[0]); 

現在印刷しようとしているのは、値ではなく実際の配列です。

なぜこのようにしているのかわかりませんが、 double []の代わりにdoubleを使うのはなぜですか?

+0

あなたが持っているものは大丈夫です。しかしあなたのプログラムのどこかで、おそらくdouble [] salaries = calculateSalary(salary、riseRate)を実行します。給与配列をループして印刷します。 – Ryan

5

これは、回答が印刷されないためです。 mainにprintステートメントを追加します。

3
System.out.println(calculateSalary(salary, riseRate)[0]); 
+0

'double []'の 'toString()'は期待通りのことをしません:-) – rsp