Я, очевидно, не хватает «если» заявление, но я не уверен, как покрыть, если чай или конфеты не удваивать друг от друга:Java CodingBat Logic teaParty?
Мы имеем партию с количеством чая и конфеты , Верните исходный результат партии, закодированный как 0 = плохой, 1 = хороший или 2 = большой. Партия хороша (1), если и чай, и сладости не менее 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
Я понятия не имею, о чем этот вопрос. –
как вы можете ожидать '1', когда' teaParty (5, 9) '? – talnicolas
Я не уверен, что вы спрашиваете, но я подозреваю вас в вашем втором заявлении 'if'. Только вызовы, где именно одно из значений - 5 (но не оба), никогда не пройдут мимо этого утверждения, что, похоже, не является вашим намерением. – VeeArr