Programming Basics with Java - Trade Commissions
Здравейте!
Опитвам се да реша задачата Търговски комисионни със switch, но неразбирам защо ми връща само грешки, а ако опитам да подам примерните И/О параметри минава (София/1500 = 120.00). Ето го и кода:
import java.util.Scanner; public class CommissionTrade { public static void main(String[] args) { Scanner console = new Scanner(System.in); String city = console.nextLine().toLowerCase(); Integer volume = Integer.parseInt(console.nextLine()); //Double quantity = Double.parseDouble(console.nextLine()); switch (city){ case "Sofia": if (0<=volume&&volume<=500) { System.out.printf("%.2f", volume * 0.05); } else if(500<volume&&volume<=1000 ){ System.out.printf("%.2f", volume * 0.07); } else if(1000<volume&&volume<=10000 ){ System.out.printf("%.2f", volume * 0.08); } else if(10000<volume ){ System.out.printf("%.2f", volume * 0.12); } case "Plovdiv": if (0<=volume&&volume<=500) { System.out.printf("%.2f", volume * 5.5); } else if(500<volume&&volume<=1000 ){ System.out.printf("%.2f", volume * 8); } else if(1000<volume&&volume<=10000 ){ System.out.printf("%.2f", volume * 12); } else if(10000<volume ){ System.out.printf("%.2f", volume * 14.5); } case "Varna": if (0<=volume&&volume<=500) { System.out.printf("%.2f", volume * 4.5); } else if(500<volume&&volume<=1000 ){ System.out.printf("%.2f", volume * 7.5); } else if(1000<volume&&volume<=10000 ){ System.out.printf("%.2f", volume * 10); } else if(10000<volume ){ System.out.printf("%.2f", volume * 13); } } } }
Пиша от телефона
Case "stringa" :
Каво да прави;
Break;
Case "str2" :
Направи това;
Break ;
Леле, вярно, че съм забравил брейк-а:))) Много мерси!:)
Странно - сложих брейк и пак не върви.... ето го кода сега:
може ли линк към джъдж
https://judge.softuni.bg/Contests/Practice/Index/153#7
проблема ти е в инпута направил си го с малки букви, а в кейса ти е "София" то не ти влиза в кейса
или махни toLowerCase или редактирай градовете с малки букви
import java.util.Scanner;
/**
* Created by kristiyan on 25.03.17.
*/
public class p08TradeComissions {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String city = scanner.nextLine();
double sales = Double.parseDouble(scanner.nextLine());
double commission = 0;
if (city.equalsIgnoreCase("Sofia")){
if (sales > 10000){
commission = 0.12 * sales;
}
else if (sales > 1000 && sales <= 10000){
commission = 0.08 * sales;
}
else if (sales > 500 && sales <= 1000){
commission = 0.07 * sales;
}
else if (sales >= 0 && sales <= 500){
commission = 0.05 * sales;
}
}else {
System.out.println("error");
}
if (city.equalsIgnoreCase("Varna")){
if (sales > 10000){
commission = 0.13 * sales;
}
else if (sales > 1000 && sales <= 10000){
commission = 0.10 * sales;
}
else if (sales > 500 && sales <= 1000){
commission = 0.075 * sales;
}
else if (sales >= 0 && sales <= 500){
commission = 0.045 * sales;
}
}else {
System.out.println("error");
}
if (city.equalsIgnoreCase("Plovdiv")){
if (sales > 10000){
commission = 0.145 * sales;
}
else if (sales > 1000 && sales <= 10000){
commission = 0.12 * sales;
}
else if (sales > 500 && sales <= 1000){
commission = 0.08 * sales;
}
else if (sales >= 0 && sales <= 500){
commission = 0.055 * sales;
}
}else {
System.out.println("error");
}
System.out.printf("%.2f", commission);
}
}
това е мое решение
Много мерси! И аз тъкмо това установих:)))
Част от тестовете минаха. Ще боря останалите.