fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main(String[] args)
  11. {
  12. System.out.println("Система расчёта штрафов в Германии");
  13.  
  14. check(50, 0);
  15. check(51, 30);
  16. check(60, 30);
  17. check(61, 50);
  18. check(65, 50);
  19. check(66, 70);
  20. check(70, 70);
  21. check(71, 115);
  22. check(75, 115);
  23. check(76, 180);
  24. check(80, 180);
  25. check(81, 260);
  26. check(90, 260);
  27. check(91, 400);
  28. check(100, 400);
  29. check(101, 560);
  30. check(110, 560);
  31. check(111, 700);
  32. check(120, 700);
  33. check(121 ,800);
  34. check(130, 800);
  35. check(131, 5000);
  36. check(140, 5000);
  37. }
  38.  
  39. public static void check(int carSpeed, int fine)
  40. {
  41. if(calculateFine(carSpeed) != fine){
  42. System.out.println("Неверный штраф " + fine + " для скорости " + carSpeed);
  43. }
  44. else{
  45. System.out.println("Штраф " + fine + " для скорости " + carSpeed + " рассчитан верно");
  46. }
  47.  
  48. }
  49. public static int calculateFine(int carSpeed)
  50. {
  51. int fineFor1to10 = 30;
  52. int fineFor11to15 = 50;
  53. int fineFor16to20 = 70;
  54. int fineFor21to25 = 115;
  55. int fineFor26to30 = 180;
  56. int fineFor31to40 = 260;
  57. int fineFor41to50 = 400;
  58. int fineFor51to60 = 560;
  59. int fineFor61to70 = 700;
  60. int fineFor71to80 = 800;
  61. int fineFor81andMore = 5000;
  62.  
  63. int townSpeed = 50;
  64.  
  65. int overSpeed = carSpeed - townSpeed;
  66.  
  67. if(overSpeed < 1) {
  68. return 0;
  69. }
  70. else if(overSpeed >= 1 && overSpeed <= 10) {
  71. return fineFor1to10;
  72. }
  73. else if(overSpeed >= 11 && overSpeed <= 15) {
  74. return fineFor11to15;
  75. }
  76. else if(overSpeed >= 16 && overSpeed <= 20) {
  77. return fineFor16to20;
  78.  
  79. }
  80. else if(overSpeed >= 21 && overSpeed <= 25) {
  81. return fineFor21to25;
  82. }
  83. else if(overSpeed >= 26 && overSpeed <= 30) {
  84. return fineFor26to30;
  85.  
  86. }
  87. else if(overSpeed >= 31 && overSpeed <= 40) {
  88. return fineFor31to40;
  89.  
  90. }
  91. else if(overSpeed >= 41 && overSpeed <= 50) {
  92. return fineFor41to50;
  93.  
  94. }
  95. else if(overSpeed >= 51 && overSpeed <= 60) {
  96. return fineFor51to60;
  97.  
  98. }
  99. else if(overSpeed >= 61 && overSpeed <= 70) {
  100. return fineFor61to70;
  101.  
  102. }
  103. else if(overSpeed >= 71 && overSpeed <= 80) {
  104. return fineFor71to80;
  105. }
  106. else {
  107. return fineFor81andMore;
  108. }
  109. }
  110. }
  111.  
Success #stdin #stdout 0.16s 57856KB
stdin
Standard input is empty
stdout
Система расчёта штрафов в Германии
Штраф 0 для скорости 50 рассчитан верно
Штраф 30 для скорости 51 рассчитан верно
Штраф 30 для скорости 60 рассчитан верно
Штраф 50 для скорости 61 рассчитан верно
Штраф 50 для скорости 65 рассчитан верно
Штраф 70 для скорости 66 рассчитан верно
Штраф 70 для скорости 70 рассчитан верно
Штраф 115 для скорости 71 рассчитан верно
Штраф 115 для скорости 75 рассчитан верно
Штраф 180 для скорости 76 рассчитан верно
Штраф 180 для скорости 80 рассчитан верно
Штраф 260 для скорости 81 рассчитан верно
Штраф 260 для скорости 90 рассчитан верно
Штраф 400 для скорости 91 рассчитан верно
Штраф 400 для скорости 100 рассчитан верно
Штраф 560 для скорости 101 рассчитан верно
Штраф 560 для скорости 110 рассчитан верно
Штраф 700 для скорости 111 рассчитан верно
Штраф 700 для скорости 120 рассчитан верно
Штраф 800 для скорости 121 рассчитан верно
Штраф 800 для скорости 130 рассчитан верно
Штраф 5000 для скорости 131 рассчитан верно
Штраф 5000 для скорости 140 рассчитан верно