Добър вечер на всички, ако някой има възможно да удари едно рамо с тази задача, че се разрових навсякъде, но не открих точно метода как става. Не знам дали трябва да се стакват в някъв стринг или нещо дискаутната цена за да ми ги изкара заедно накрая. Нов съм в програмирането и с тези 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 Това написах аз, после не знам какво следва…
Здравей,
решението ти е правилно, трябвало е само да пуснеш дебъгера и е щяло да видиш къде точно да промениш. След първото превъртане на цикъла променливата discount взима стойността на предишното число от входа и вече не е 0.65 както е по условие. В този случай трябва просто да зададеш отново стойността на величината след като изпринтираш отговора или да сметнеш отговора с една величина на един ред “discount = item - (item * 0.65)”. А, за да бъдат отговорите на нов ред погледни условието какво изисква “System.out.printf()”.
1 Like
Аз до колкото разбирам, това n ми служи да въведа броя редове, които ще имам . Това не знам как да го направя. Понеже след всеки преминат цикъл ми изкарва директно числото, дори да напиша n = 4, и с принтФ пробвах, но не стана.
Здравей,
първият ред “n” ти показва колко числа ще бъдат прочетени от конзолата. Затова после в loop-а даваш “n” като крайна цел. Това число няма директно отношение върху сметките на задачата, а само за задаване на параметрите на цикъла.
Това, че след всяко завъртане на цикъла ти принтира отговора е, защото кодът System.out.prinf() се намира в тялото на for цикъла. Ако искаш първо да бъдат прочетени всички числа, след това сметнати ще трябва да запазиш отговорите някъде и след края на цикъла да бъдат изпринтирани. Това усложнява задачата и не е нужно, тъй като в judge се приема за правилно решение и първият вариант.
Качвам преработения код. Опитал съм се да запазя твоето решение и само съм променил връщането на стойността на променливата discount.
Надявам се да е било полезно това обяснение.