charityCampaign
Здравейте, някой може ли да ми каже каква е разликата между двата изхода, и защо на част от проверките в judge системата излезе грешка при първият?
import java.util.Scanner; public class charityCampaign { public static void main (String [] args){ Scanner scanner= new Scanner (System.in); int days= Integer.parseInt (scanner.nextLine()); int confectioner= Integer.parseInt(scanner.nextLine()); int cakes= Integer.parseInt(scanner.nextLine()); int waffles= Integer.parseInt(scanner.nextLine()); int pancakes= Integer.parseInt(scanner.nextLine()); int allCakes=days*confectioner*cakes; int allWaffles=days*confectioner*waffles; int allPancakes=days*confectioner*pancakes; double priceCakes=allCakes*45; double priceWaffles=allWaffles*5.80; double pricePancakes=allPancakes*3.20; double sumPrice=priceCakes+priceWaffles+pricePancakes; double benefit= sumPrice-sumPrice/8; System.out.printf("%.2f",benefit); } }
import java.util.Scanner; public class charityCampaign2 { public static void main (String [] args) { Scanner scanner = new Scanner(System.in); int days = Integer.parseInt(scanner.nextLine()); int confectioner = Integer.parseInt(scanner.nextLine()); int cakes = Integer.parseInt(scanner.nextLine()); int waffles = Integer.parseInt(scanner.nextLine()); int pancakes = Integer.parseInt(scanner.nextLine()); double priceCakes = cakes * 45; double priceWaffles = waffles * 5.80; double pricePancakes = pancakes * 3.20; double perDay = (priceCakes + priceWaffles + pricePancakes) * confectioner; double all = perDay * days; double benefit = all - all / 8; System.out.printf("%.2f", benefit); } }
Да, само че в двете решения използвам различни променливи за формирането на priceCakes, priceWaffles и pricePancakes.Крайният резултат е един и същ и с двата кода, т.е. не съм объркала или забравила някой множител. От математическа гледна точка би трябвало да са еднакви. Евентуално, ако входните данни не са цели числа и някъде самата програма закръгля при пресмятането може да се получи разлика... поне според мен.