Java 如何计算加班费? < P>问题(如加班费(工作时间超过8小时)是小时费率的一倍半)!p>
比率是4.5Java 如何计算加班费? < P>问题(如加班费(工作时间超过8小时)是小时费率的一倍半)!p>,java,Java,比率是4.5 int hoursWorked; double rateOfPay=4.5; double overtime=0; if (hoursWorked>8) overtime = (hoursWorked-8)*(rateOfPay*1.5); // Calculate OVERTIME HOURS 你的想法是对的,那就是加班费 在你有了这些之后, 我做一些类似的事情 if(hoursWorked <= 8) { totalPay = hours
int hoursWorked;
double rateOfPay=4.5;
double overtime=0;
if (hoursWorked>8)
overtime = (hoursWorked-8)*(rateOfPay*1.5); // Calculate OVERTIME HOURS
你的想法是对的,那就是加班费 在你有了这些之后, 我做一些类似的事情
if(hoursWorked <= 8) {
totalPay = hoursWorked * rateOfPay;
} else {
totalPay = (8 * rateOfPay) + ((hoursWorked - 8) * (rateOfPay*1.5);
}
首先计算出一些“有效工作时间”,或者类似的,用加班时间乘以增加的工资乘数——这很好
double overtime = 0;
if (hours > 8)
overtime = (hours - 8) * 1.5;
totalPay = (overtime == 0? hours * rate : (overtime + 8) * rate);
加班时,这将增加8小时的正常工资!=0到加班时间
如果加班时间等于0,则计算正常时间(由于小时数小于8,因此等于(小时数*费率))
否则,您的“工作时间”为8+(比8小时多1.5*小时),括号中的术语在此处标记为“加班”
另一种方法是继续你对加班的定义,并考虑@CommitteedRoider提出的模型,即
totalPay = overtime + (rate * std::min(8, hours));
在这种情况下,如果你工作9小时,你的工作时间不会少于8小时。int hoursweed=80;
int hoursWorked = 80;
int overTimeHours = 5;
double rateOfPay = 18.0;
double overTime = rateOfPay * 1.5;
// will print rateOfPay multiplied by 1.5
System.out.println(overTime);
if( hoursWorked <= 80);
System.out.println(hoursWorked * rateOfPay);
if(hoursWorked + overTimeHours > 80);
//Multiplies hoursWorked by rateofPay = 1440.00 - then adds overTimeHours multiplied by overTime to total pay.
System.out.println(hoursWorked * rateOfPay + (overTimeHours * overTime));
int超时小时数=5;
双倍支付率=18.0;
双倍加班费=付款费率*1.5;
//将打印付款率乘以1.5
系统输出打印LN(加班);
如果(工作时间为80小时);
//将工作小时数乘以工资率=1440.00-然后将加班时间乘以加班时间加总工资。
系统输出打印项次(工作小时数*支付费率+(超时小时数*加班));
你能试着澄清一下这个问题吗?你在计算什么?在正常工资下,你需要工作多少小时才能获得与给定加班时间相同的工资?@chrisb2244我想计算工作日和周末的工资。周末双倍价格(价格*2)。如果有人周末加班,我会计算加班加工资。但我不知道怎么计算。这不是编程问题,这是基础数学。另外,你已经回答了你的问题。如果时钟上的时间超过8小时,则速率为4.5*1.5。您的代码中已经计算了加班时间。我有一种奇怪的感觉,我在看作业的示例代码。不客气!!!你能把这个标记为被接受的答案吗?这是错误的,对吗?如果你工作12小时,你将以1.5*的费率获得(12-8)小时的加班费,以正常费率获得+(12%9=3)小时的加班费,或者在你想要8小时正常+6小时额外=14小时的情况下获得9小时的总工资。如果你工作20个小时,甚至都不要开始……克里斯b我知道我能解决这个问题。我把一点间隔开了问题不在于9而在于8——你使用的算法是错误的。如果这个人加班的话,你会计算出比工作时间少的时间。我知道。给我10分钟。请解释一下为什么你认为这个解决方案解决了问题。在阅读代码之前,解释您的答案将有助于更好地理解它
int hoursWorked = 80;
int overTimeHours = 5;
double rateOfPay = 18.0;
double overTime = rateOfPay * 1.5;
// will print rateOfPay multiplied by 1.5
System.out.println(overTime);
if( hoursWorked <= 80);
System.out.println(hoursWorked * rateOfPay);
if(hoursWorked + overTimeHours > 80);
//Multiplies hoursWorked by rateofPay = 1440.00 - then adds overTimeHours multiplied by overTime to total pay.
System.out.println(hoursWorked * rateOfPay + (overTimeHours * overTime));