gpt4 book ai didi

java - 如何在没有 if 语句的情况下做出决定

转载 作者:IT老高 更新时间:2023-10-28 20:56:21 25 4
gpt4 key购买 nike

我正在学习 Java 类(class),但我们还没有正式学习 if 语句。我正在学习,看到这个问题:

Write a method called pay that accepts two parameters: a real number for a TA's salary, and an integer for the number hours the TA worked this week. The method should return how much money to pay the TA. For example, the call pay(5.50, 6) should return 33.0. The TA should receive "overtime" pay of 1.5 times the normal salary for any hours above 8. For example, the call pay(4.00, 11) should return (4.00 * 8) + (6.00 * 3) or 50.0.

如何在不使用 if 语句的情况下解决这个问题?到目前为止,我已经得到了这个,但我被困在正常工资上:

public static double pay (double salary, int hours) {

double pay = 0;

for (int i = hours; i > 8; i --) {
pay += (salary * 1.5);
}
}

最佳答案

为避免直接使用 ifwhile 等流控制语句,您可以使用 Math.minMath.max。对于这个特殊问题,使用循环也不会有效。

从技术上讲,它们可能使用 if 语句或等效语句,但您已经进行的许多其他标准库调用也是如此:

public static double pay (double salary, int hours) {
int hoursWorkedRegularTime = Math.min(8, hours);
int hoursWorkedOverTime = Math.max(0, hours - 8);
return (hoursWorkedRegularTime * salary) +
(hoursWorkedOverTime * (salary * 1.5));
}

关于java - 如何在没有 if 语句的情况下做出决定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39259012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com