Професионална програма
Loading...
+ Нов въпрос
dianamuhtarova avatar dianamuhtarova 2 Точки

Conditional statements advanced exercises - 06. Operations Between Numbers

Здравейте,

На условието с деление "/" не мога да се сетя как да избегна да ми принтира и двете съобщения. Трябва да е само "Cannot divide {N1} by zero" , а на мен ми изписва "Cannot divide 112 by zero112 / 0 = Infinity"

Може ли някой да ме подсети?

https://pastebin.com/kVvFaRxj

 

Условие

1.Операции между числа

Напишете програма, която чете две цели числа (N1 и N2) и оператор, с който да се извърши дадена математическа операция с тях. Възможните операции са: Събиране(+), Изваждане(-), Умножение(*), Деление(/) и Модулно деление(%). При събиране, изваждане и умножение на конзолата трябва да се отпечатат резултата и дали той е четен или нечетен. При обикновеното делениерезултата. При модулното делениеостатъка. Трябва да се има предвид, че делителят може да е равен на 0(нула), а на нула не се дели. В този случай трябва да се отпечата специално съобщениe.

Вход

От конзолата се прочитат 3 реда, въведени от потребителя:

  • N1цяло число в интервала [0...40 000]
  • N2цяло число в интервала [0...40 000]
  • Операторедин символ измеду: „+“, „-“, „*“, „/“, „%

Изход

Да се отпечата на конзолата един ред:

  • Ако операцията е събиране, изваждене или умножение:
    •  „{N1} {оператор} {N2} = {резултат} – {even/odd}“
  • Ако операцията е деление:
    • „{N1} / {N2} = {резултат}“ – резултатът е фораматиран до вторият знак след дес.запетая
  • Ако операцията е модулно деление:
    • „{N1} % {N2} = {остатък}“
  • В случай на деление с 0(нула):
    • „Cannot divide {N1} by zero“

 

Примерен вход и изход

вход

изход

вход

изход

вход

изход

10

12

+

10 + 12 = 22 - even

123

12

/

123 / 12 = 10.25

112

0

/

Cannot divide 112 by zero

10

1

-

10 – 1 = 9 - odd

10

3

%

10 % 3 = 1

10

0

%

Cannot divide 10 by zero

7

3

*

7 * 3 = 21 - odd

 

Тагове:
0
Programming Basics with Java 16/04/2021 09:16:20
svephoto avatar svephoto 689 Точки

Здравей, dianamuhtarova,

 

Трябва да направиш проверка за деление на 0 и при модулното деление - то също е вид деление. laugh И просто слагаш изчислението на резултата заедно с печатането за него в един else след if-а, и готово. Ето как би могло да изглежда решението ти: https://pastebin.com/NV0ndS5z.

И една дребна подробност: стринговете, в които печаташ за even или odd и в които има тире, вероятно си ги копирала от документа с условието и не минаваха в Judge - в случая тирето от документа се различава от това, което се написва ръчно в средата за разработка и се оказва, че Съдията не харесва първото. smiley

1
16/04/2021 14:27:37
dianamuhtarova avatar dianamuhtarova 2 Точки

Много благодаря,

И за тиретата благодаря :)

 

0
svephoto avatar svephoto 689 Точки

Моля-моля yes laugh

0