2012-04-10 19 views
-4

Die Antwort sollte zurückgegeben werden, aber es wird aus irgendeinem Grund nicht angezeigt. Ich habe innerhalb von for-Schleife gedruckt und gesehen, dass es die richtige Antwort ist.Antwort kann nicht zurückgegeben werden

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

Antwort

1

Sie geben ein Array zurück. Das Gehalt ist in der ersten Position von Ihnen Array. Wenn Sie das Gehalt sehen möchten, müssen Sie in Ihrer Methode

verwenden.

oder

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

im Haupt.

Was Sie gerade drucken möchten, ist das tatsächliche Array, kein Wert.

Ich bin mir nicht sicher, warum Sie es so tun, though. Warum nicht einfach ein Double anstelle von Double [] verwenden?

+0

Ok, dann ist das, was Sie haben, in Ordnung. Aber irgendwo in Ihrem Programm würden Sie wahrscheinlich double [] Gehälter = calculateSalary (Gehalt, riseRate); Durchlaufen Sie dann das Gehalts-Array, um sie auszudrucken. – Ryan

5

Das liegt daran, dass Sie die Antwort nicht ausdrucken. Fügen Sie eine Druckanweisung in main hinzu.

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

'toString()' auf einem 'double []' tut nicht, was Sie von ihm erwarten :-) – rsp

Verwandte Themen