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