Below and Above Average

Здравейте на всички,

Някой може ли да ми обясни, как да направя валидирането на инпута, когато в първият тест нулите се калкулират и се принтират в полето below, докато в теста номер 2 калкулирането и принтирането на нула се смята за грешка:

Реших, че ако average е 0.00, тогава се принтират само below(без нулите) and above, промених кода и сега минават двата теста от 5, и пак нещо не е така както трябваше.

ето го кода ми:

Условията на задачата:

Below and Above Average

Write a program that calculates the average of a list of numbers. Display the average, all the numbers below the average, and all the numbers above the average. Maintain the relative order of numbers.

Input

  • On the only line of input, you will receive the numbers, separated by a comma.

Output

  • On the first line, print the average, with two digits after the decimal separator.
  • On the second line, print all the numbers bellow the average
  • On the third line, print all the numbers above the average

Constraints

  • 1 <= list.length <= 20

Input

3,-12,0,0,13,5,1,0,-2

Output

avg: 0.89
below: -12,0,0,0,-2
above: 3,13,5,1

Input

0,1,-1

Output

avg: 0.00
below: -1
above: 1

Благодаря предварително!

Здравей, Алекс :slight_smile:

Значи, до вторият цикл for, всичко е ок, за да работи кодът. Проблемът е във вторият цикъл for.
Ти вече имаш всички елементи събрани в array all.
Сега само ги разделяш, ако елементи по малки от average, добавяш в string below, ако по големи, добавяш в string above.
Използвай само една конструкция if (average > all[i]) - else if (average < all[i]).
Със if - else няма да стане, что-то 0 ще отива към above ( Test case #2: ще дава грешка).
test2

Използвах твоят код с тези коррекции и всичко стана.

Hint: В кодът можеш да добавяш System.out.println(String.join(",",list)); за да видиш какви данни (числа, стрингове и т.н.) използва система за тестове. Имайки предвид, че системата винаги ще дава грешки, что-то не очаква този output.

Ако ще трябва още помощ, пиши. :grinning:

1 Like

100 точки от 100,
Благодаря ти, Алекс! :sunglasses: :metal:

1 Like