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.Крайният резултат е един и същ и с двата кода, т.е. не съм объркала или забравила някой множител. От математическа гледна точка би трябвало да са еднакви. Евентуално, ако входните данни не са цели числа и някъде самата програма закръгля при пресмятането може да се получи разлика... поне според мен.