2014-09-21 62 views
-3

我需要爲「r」正式工和「o」超時工工資寫一個方法工資。編寫方法 - Java工資程序

定期是小時工率*小時工作。

加班時間是小時費率*小時工作的前40小時和小時後每小時40小時費率爲(1.5)。

預:

otStatus必須是「○」加班或「r」爲定期(字母可以是大寫或小寫)。

後:

方法返回OT或定期

代碼的週薪:

這是代碼,我現在所擁有的:

public static double weeklySalary(double hourlyRate1, double hours1, String otStatus) { 

    double regularSalary; 
    double otSalary; 

    if (otStatus.equalsIgnoreCase("o")) { 
     if (hours1 > 40) { 
      salary = // What do I have to write here? 
     } 

     return salary; 
    } 

    if (otStatus.equalsIgnoreCase("r")) { 

     salary = hours1 * hourlyRate1; 

    } 

    return salary; 



    return 0; //incase nothing is true so program doesn't crash 
} 
} 

此外,如果我需要打印出來:

System.out.printf(「對於(n)加班工人收入」+ hourlyRate +「每小時誰工作」+小時+「小時,$%。 2f是週薪「,工資);

如何根據加班狀態每次變更工資?

+0

你的第二個'return'說法是無用的,將導致編譯錯誤,因爲它永遠無法訪問 – msrd0 2014-09-21 16:28:02

+0

您需要了解該語言的基礎知識。從你的代碼看來,你對它沒有任何理解。 – 2014-09-22 05:27:51

回答

0

一是40小時,每小時的標準速度,額外的時間,1.5 *每小時的速度,像你說:

if (hours1 > 40) { 
    salary = 40 * hourlyRate1 + (hours1 - 40) * 1.5 * hourlyRate1; 
} else { 
    salary = hours1 * hourlyRate1; 
} 
+0

另外,如果我需要打印出來: System.out.printf(「對於(n)加班工人收入」+ hourlyRate +「每小時工作的人」+小時+「小時,$%。2f是週薪「,工資); 如何根據加班狀態每次變更工資? – kenwoodjen 2014-09-21 17:03:53

1

快速的解決方案:

public static double getSalary(double rate, double hours, String status) { 
    if(status.equalsIgnoreCase("o") && hours > 40) 
     return 40 * rate + (1.5 * rate) * (hours-40); 
    return rate * hours; 
} 
+0

你爲什麼這麼快打電話?有4條線,你可以匹配一個 – msrd0 2014-09-21 16:30:14

+0

像30秒寫,除了這傢伙只是想他的功課完成,他似乎並不關心理解,所以它真的很重要? – 2014-09-21 16:32:00

+1

對於OP來說並不重要(這就是爲什麼我低估了OP的帖子),但對於未來的讀者來說它很重要 – msrd0 2014-09-21 16:33:26