gpt4 book ai didi

Java CodingBat 逻辑茶会?

转载 作者:行者123 更新时间:2023-12-02 07:54:55 27 4
gpt4 key购买 nike

我显然缺少一个“if”语句,但我不知道如何涵盖茶或糖果不是彼此的两倍:

Java > Logic-1 > teaParty

我们正在举办一个有大量茶和糖果的聚会。返回编码为 0=bad、1=good 或 2=great 的一方的 int 结果。如果茶和糖果都至少为 5,则聚会是好的 (1)。但是,如果茶或糖果的数量至少是另一种的两倍,则聚会很棒 (2)。然而,在所有情况下,如果茶或糖果少于 5,则聚会总是不好 (0)。

teaParty(6, 8) → 1
teaParty(3, 8) → 0
teaParty(20, 6) → 2

这是我到目前为止的代码:

public int teaParty(int tea, int candy) {

if(tea < 5 || candy < 5)
return 0;

if(tea == 5 && candy == 5)
return 1;

if(tea != 5 && candy != 5)
return 1;

if(candy * 2 >= tea)
return 2;

if(tea * 2 >= candy)
return 2;


return 0;
}

这些是我收到的错误:

Expected    This Run        
teaParty(6, 8) → 1 1 OK
teaParty(3, 8) → 0 0 OK
teaParty(20, 6) → 2 1 X
teaParty(12, 6) → 2 1 X
teaParty(11, 6) → 1 1 OK
teaParty(11, 4) → 0 0 OK
teaParty(4, 5) → 0 0 OK
teaParty(5, 5) → 1 1 OK
teaParty(6, 6) → 1 1 OK
teaParty(5, 10) → 2 2 OK
teaParty(5, 9) → 1 2 X
teaParty(10, 4) → 0 0 OK
teaParty(10, 20) → 2 1 X
other tests
X

最佳答案

您有一些多余且不正确的案例。这是一个更简单的版本:

public int teaParty(int tea, int candy) {
if(tea < 5 || candy < 5) // your first case was correct
return 0;

if(candy * 2 <= tea || tea * 2 <= candy) // must be <= not >=
return 2;

return 1; // after you handle the first two cases, just return 1
}

关于Java CodingBat 逻辑茶会?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9777184/

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