Sim0o0na

Untitled

Jan 18th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. /**
  4. * Created by todor on 18.01.2017 г..
  5. *
  6. *
  7. Студент трябва да пропътува n километра. Той има избор измежду три вида транспорт:
  8. • Такси. Начална такса: 0.70 лв. Дневна тарифа: 0.79 лв. / км. Нощна тарифа: 0.90 лв. / км.
  9. • Автобус. Дневна / нощна тарифа: 0.09 лв. / км. Може да се използва за разстояния минимум 20 км.
  10. • Влак. Дневна / нощна тарифа: 0.06 лв. / км. Може да се използва за разстояния минимум 100 км.
  11. Напишете програма, която въвежда броя километри n и период от деня (ден или нощ)
  12. и изчислява цената на най-евтиния транспорт.
  13. Вход
  14. От конзолата се четат два реда:
  15. • Първият ред съдържа числото n – брой километри – цяло число в интервала [1…5000].
  16. • Вторият ред съдържа дума “day” или “night” – пътуване през деня или през нощта.
  17. Изход
  18. Да се отпечата на конзолата най-ниската цена за посочения брой километри.
  19.  
  20. */
  21. public class u17_TransportPrice {
  22. public static void main(String[] args) {
  23.  
  24. Scanner scan = new Scanner(System.in);
  25.  
  26. int travelDistance = Integer.parseInt(scan.nextLine());
  27. String travelTime = scan.nextLine();
  28. double minimumPrice;
  29.  
  30. if (travelDistance < 20){
  31. minimumPrice = TaxiPrice(travelDistance, travelTime);
  32. }
  33. else if (travelDistance < 100) {
  34. minimumPrice = Math.min(TaxiPrice(travelDistance, travelTime), BusPrice(travelDistance));
  35. }
  36. else {
  37. minimumPrice = Math.min(TaxiPrice(travelDistance, travelTime), Math.min(
  38. BusPrice(travelDistance),
  39. TrainPrice(travelDistance)
  40. )
  41. );
  42. }
  43.  
  44. System.out.printf("%.2f",minimumPrice);
  45.  
  46. }
  47.  
  48. static double TaxiPrice (int distance, String dayOrNight) {
  49. double price = Double.MAX_VALUE;
  50.  
  51. double tax = 0.7;
  52. double dayPricePerDistance = 0.79;
  53. double nightPricePerDistance = 0.90;
  54.  
  55. if (dayOrNight.equals("day")){
  56. price = (distance * dayPricePerDistance) + tax;
  57. }
  58. else if (dayOrNight.equals("night")) {
  59. price = (distance * nightPricePerDistance) + tax;
  60. }
  61.  
  62. return price;
  63. }
  64.  
  65. static double BusPrice (int distance) {
  66. double pricePerDistance = 0.09;
  67. double price = pricePerDistance * distance;
  68.  
  69. return price;
  70. }
  71.  
  72. static double TrainPrice (int distance) {
  73. double pricePerDistance = 0.06;
  74. double price = pricePerDistance * (double) distance;
  75.  
  76. return price;
  77. }
  78. }
Add Comment
Please, Sign In to add comment