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) throws java.lang.Exception
  11. {
  12. System.out.println("Система расчёта штрафов в Германии");
  13.  
  14. check(50, 0);
  15. check(51, 30);
  16. check(61, 50);
  17. check(71, 115);
  18. check(76, 180);
  19. check(81, 260);
  20. check(91, 400);
  21. check(101, 560);
  22. check(111, 700);
  23. check(120, 800);
  24. }
  25.  
  26. public static void check(int carSpeed, int fine)
  27. {
  28. if(calculateFine(carSpeed) != fine) {
  29. System.out.println("Неверный штраф " + fine + " для скорости " + carSpeed);
  30. }
  31. else {
  32. System.out.println("Штраф " + fine + " для скорости " + carSpeed + " рассчитан верно");
  33. }
  34. }
  35.  
  36. public static int calculateFine(int carSpeed)
  37. {
  38. int fineFor1to10 = 30;
  39. int fineFor11to15 = 50;
  40. int fineFor16to20 = 70;
  41. int fineFor21to25 = 115;
  42. int fineFor26to30 = 180;
  43. int fineFor31to40 = 260;
  44. int fineFor41to50 = 400;
  45. int fineFor51to60 = 560;
  46. int fineFor61to70 = 700;
  47. int fineFor70andMore = 800;
  48.  
  49. int townSpeed = 50;
  50.  
  51. int overSpeed = carSpeed - townSpeed;
  52.  
  53. if(overSpeed < 1) {
  54. return 0;
  55. }
  56.  
  57. if(overSpeed >= 1 && overSpeed <= 10) {
  58. return fineFor1to10;
  59. }
  60.  
  61. if(overSpeed >= 11 && overSpeed < 15) {
  62. return fineFor11to15;
  63. }
  64.  
  65. if(overSpeed >= 16 && overSpeed < 20) {
  66. return fineFor16to20;
  67. }
  68.  
  69. if(overSpeed >= 21 && overSpeed < 25) {
  70. return fineFor21to25;
  71. }
  72.  
  73. if(overSpeed >= 26 && overSpeed < 30) {
  74. return fineFor26to30;
  75. }
  76.  
  77. if(overSpeed >= 31 && overSpeed < 40) {
  78. return fineFor31to40;
  79. }
  80.  
  81. if(overSpeed >= 41 && overSpeed < 50) {
  82. return fineFor41to50;
  83. }
  84.  
  85. if(overSpeed >= 51 && overSpeed < 60) {
  86. return fineFor51to60;
  87. }
  88.  
  89. if(overSpeed >= 61 && overSpeed < 70) {
  90. return fineFor61to70;
  91. }
  92.  
  93. return fineFor70andMore;
  94. }
  95. }
Success #stdin #stdout 0.15s 54236KB
stdin
Standard input is empty
stdout
Система расчёта штрафов в Германии
Штраф 0 для скорости 50 рассчитан верно
Штраф 30 для скорости 51 рассчитан верно
Штраф 50 для скорости 61 рассчитан верно
Штраф 115 для скорости 71 рассчитан верно
Штраф 180 для скорости 76 рассчитан верно
Штраф 260 для скорости 81 рассчитан верно
Штраф 400 для скорости 91 рассчитан верно
Штраф 560 для скорости 101 рассчитан верно
Штраф 700 для скорости 111 рассчитан верно
Штраф 800 для скорости 150 рассчитан верно