Advertisement
galinyotsev123

ProgBasicsJavaBook4.2ComplexConditions04MatchTickets

Jan 20th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. import java.math.BigDecimal;
  2. import java.text.DecimalFormat;
  3. import java.util.Scanner;
  4.  
  5. public class E04MatchTickets {
  6. public static void main(String[] args) {
  7. Scanner scanner = new Scanner(System.in);
  8.  
  9. BigDecimal budget = new BigDecimal(scanner.nextLine());
  10. String ticketType = scanner.nextLine();
  11. int people = Integer.parseInt(scanner.nextLine());
  12.  
  13. BigDecimal transportCharges = new BigDecimal("0.00");
  14. BigDecimal moneyForTickets = new BigDecimal("0.00");
  15. BigDecimal moneyDiff = new BigDecimal("0.00");
  16.  
  17. if (people >= 1 && people < 5) {
  18. transportCharges = new BigDecimal("0.75").multiply(budget);
  19. } else if (people >= 5 && people < 10) {
  20. transportCharges = new BigDecimal("0.60").multiply(budget);
  21. } else if (people >= 10 && people < 24) {
  22. transportCharges = new BigDecimal("0.50").multiply(budget);
  23. } else if (people >= 24 && people < 50) {
  24. transportCharges = new BigDecimal("0.40").multiply(budget);
  25. } else if (people >= 50) {
  26. transportCharges = new BigDecimal("0.25").multiply(budget);
  27. }
  28.  
  29. switch (ticketType) {
  30. case "Normal":
  31. moneyForTickets =
  32. new BigDecimal(people).multiply(
  33. new BigDecimal("249.99"));
  34. break;
  35. case "VIP":
  36. moneyForTickets =
  37. new BigDecimal(people).multiply(
  38. new BigDecimal("499.99"));
  39. break;
  40. default:
  41. moneyForTickets =
  42. new BigDecimal(people).multiply(
  43. new BigDecimal("249.99"));
  44. break;
  45. }
  46.  
  47. DecimalFormat decimalFormetter = new DecimalFormat("0.00");
  48. moneyDiff = budget.subtract(
  49. transportCharges.add(moneyForTickets));
  50. String result = String.format(
  51. "Yes! You have %s leva left.",
  52. decimalFormetter.format(moneyDiff.setScale(
  53. 2, BigDecimal.ROUND_HALF_UP)));
  54.  
  55. if (moneyDiff.compareTo(BigDecimal.valueOf(0)) < 0) {
  56. result = String.format(
  57. "Not enough money! You need %s leva.",
  58. decimalFormetter.format(moneyDiff.setScale(
  59. 2, BigDecimal.ROUND_HALF_UP).abs()));
  60. }
  61.  
  62. System.out.println(result);
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement