我显然漏掉了一个" if“语句,但我不确定如果茶或糖果不是彼此的两倍该如何覆盖:
Java > Logic-1 > teaParty
我们正在开一个有很多茶和糖果的聚会。返回被编码为0=bad、1=good或2=great的参与方的int结果。如果茶和糖果都至少是5,那么聚会就很棒。但是,如果茶和糖果中的一种至少是另一种的两倍,那么聚会就很棒(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 https://stackoverflow.com/questions/9777184
复制相似问题