Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. import java.util.List;
  2.  
  3. public class Main {
  4.  
  5. public static void main(String[] args) {
  6. Patient p1 = new ChoryNaGlowe();
  7. Patient p2 = new ChoryNaNoge();
  8. Patient p3 = new ChoryNaSranie();
  9.  
  10. final List<Patient> pacjenci = List.of(p1, p2, p3);
  11.  
  12. int pacjenciPodIbuprom = 0;
  13. Patient najdrozszy = null;
  14. double aktualnyNajdrozszy = 0.0;
  15.  
  16. for (Patient p : pacjenci) {
  17. final List<Lek> leki = p.getLeki();
  18. for (Lek l : leki) {
  19. if (l.getNazwa().equals("pacjenciPodIbuprom")) {
  20. pacjenciPodIbuprom++;
  21. break;
  22. }
  23. }
  24.  
  25. double totalCenaLeki = 0.0;
  26.  
  27. for (Lek l : leki) {
  28. totalCenaLeki += l.getCena();
  29. }
  30. int wielokrotnosc = Math.floorDiv(p.getAge(), 10);
  31. double procent = (wielokrotnosc + 10) / 10.0;
  32.  
  33. totalCenaLeki = totalCenaLeki * procent;
  34.  
  35. if (aktualnyNajdrozszy < totalCenaLeki) {
  36. aktualnyNajdrozszy = totalCenaLeki;
  37. najdrozszy = p;
  38. }
  39. }
  40.  
  41. System.out.println("Najdrozszy pacjent to: imie: " + najdrozszy.getName() + " nazwisko: " + najdrozszy.getSurname() + " wiek: "+ najdrozszy.getAge());
  42. System.out.println("Ilu pacjentów wymaga podania ibrupomu? " + pacjenciPodIbuprom);
  43. }
  44. }
  45.  
  46. interface Patient {
  47. String getName();
  48. String getSurname();
  49. int getAge();
  50. List<Lek> getLeki();
  51. }
  52.  
  53. class ChoryNaGlowe implements Patient {
  54.  
  55. @Override
  56. public String getName() {
  57. return "Jan";
  58. }
  59.  
  60. @Override
  61. public String getSurname() {
  62. return "Kowalski";
  63. }
  64.  
  65. @Override
  66. public int getAge() {
  67. return 35;
  68. }
  69.  
  70. @Override
  71. public List<Lek> getLeki() {
  72. return List.of(new Lek("ibuprom", 2, 5.0));
  73. }
  74. }
  75.  
  76. class ChoryNaNoge implements Patient {
  77.  
  78. @Override
  79. public String getName() {
  80. return "Adam";
  81. }
  82.  
  83. @Override
  84. public String getSurname() {
  85. return "Kowalski";
  86. }
  87.  
  88. @Override
  89. public int getAge() {
  90. return 30;
  91. }
  92.  
  93. @Override
  94. public List<Lek> getLeki() {
  95. return List.of(new Lek("ibuprom", 1, 2.5),
  96. new Lek("gips", 1, 100));
  97. }
  98. }
  99.  
  100. class ChoryNaSranie implements Patient {
  101.  
  102.  
  103. @Override
  104. public String getName() {
  105. return "Franek";
  106. }
  107.  
  108. @Override
  109. public String getSurname() {
  110. return "Kowalski";
  111. }
  112.  
  113. @Override
  114. public int getAge() {
  115. return 19;
  116. }
  117.  
  118. @Override
  119. public List<Lek> getLeki() {
  120. return List.of(new Lek("wegiel", 1, 20.0),
  121. new Lek("melisa", 1, 50));
  122. }
  123. }
  124.  
  125. class Lek {
  126. private String nazwa;
  127. private int dawka;
  128. private double cena;
  129.  
  130. public Lek(String nazwa, int dawka, double cena) {
  131. this.nazwa = nazwa;
  132. this.dawka = dawka;
  133. this.cena = cena;
  134. }
  135.  
  136. public String getNazwa() {
  137. return nazwa;
  138. }
  139.  
  140. public int getDawka() {
  141. return dawka;
  142. }
  143.  
  144. public double getCena() {
  145. return cena;
  146. }
  147. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement