Calculate Discount

Добър вечер на всички, ако някой има възможно да удари едно рамо с тази задача, че се разрових навсякъде, но не открих точно метода как става. Не знам дали трябва да се стакват в някъв стринг или нещо дискаутната цена за да ми ги изкара заедно накрая. Нов съм в програмирането и с тези loops не мога да се оправя нещо. Благодаря предварително !
You need to calculate the discounted price for each item in your shopping cart. The discount is 65%, a real deal for you.

Input

  • On the first line, you will receive N - the number of the items in your shopping cart
  • On the next N lines you will each item’s price

Output

  • On each line in the output print the discounted price of the item with two digits after the decimal point (Math rules for rounding apply)

Input

2
50
40

Output

17.50
14.00

Input

4
9.99
19.99
29.99
39.99

import java.util.Scanner;public class Task_Five { public static void ma - Pastebin.com Това написах аз, после не знам какво следва…:frowning:

Здравей,

решението ти е правилно, трябвало е само да пуснеш дебъгера и е щяло да видиш къде точно да промениш. След първото превъртане на цикъла променливата discount взима стойността на предишното число от входа и вече не е 0.65 както е по условие. В този случай трябва просто да зададеш отново стойността на величината след като изпринтираш отговора или да сметнеш отговора с една величина на един ред “discount = item - (item * 0.65)”. А, за да бъдат отговорите на нов ред погледни условието какво изисква “System.out.printf()”. :slight_smile:

1 Like

Аз до колкото разбирам, това n ми служи да въведа броя редове, които ще имам . Това не знам как да го направя. Понеже след всеки преминат цикъл ми изкарва директно числото, дори да напиша n = 4, и с принтФ пробвах, но не стана.

Здравей,

първият ред “n” ти показва колко числа ще бъдат прочетени от конзолата. Затова после в loop-а даваш “n” като крайна цел. Това число няма директно отношение върху сметките на задачата, а само за задаване на параметрите на цикъла.

Това, че след всяко завъртане на цикъла ти принтира отговора е, защото кодът System.out.prinf() се намира в тялото на for цикъла. Ако искаш първо да бъдат прочетени всички числа, след това сметнати ще трябва да запазиш отговорите някъде и след края на цикъла да бъдат изпринтирани. Това усложнява задачата и не е нужно, тъй като в judge се приема за правилно решение и първият вариант.

Качвам преработения код. Опитал съм се да запазя твоето решение и само съм променил връщането на стойността на променливата discount.

Надявам се да е било полезно това обяснение. :slight_smile: