Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.List;
- public class Main {
- public static void main(String[] args) {
- Patient p1 = new ChoryNaGlowe();
- Patient p2 = new ChoryNaNoge();
- Patient p3 = new ChoryNaSranie();
- final List<Patient> pacjenci = List.of(p1, p2, p3);
- int pacjenciPodIbuprom = 0;
- Patient najdrozszy = null;
- double aktualnyNajdrozszy = 0.0;
- for (Patient p : pacjenci) {
- final List<Lek> leki = p.getLeki();
- for (Lek l : leki) {
- if (l.getNazwa().equals("pacjenciPodIbuprom")) {
- pacjenciPodIbuprom++;
- break;
- }
- }
- double totalCenaLeki = 0.0;
- for (Lek l : leki) {
- totalCenaLeki += l.getCena();
- }
- int wielokrotnosc = Math.floorDiv(p.getAge(), 10);
- double procent = (wielokrotnosc + 10) / 10.0;
- totalCenaLeki = totalCenaLeki * procent;
- if (aktualnyNajdrozszy < totalCenaLeki) {
- aktualnyNajdrozszy = totalCenaLeki;
- najdrozszy = p;
- }
- }
- System.out.println("Najdrozszy pacjent to: imie: " + najdrozszy.getName() + " nazwisko: " + najdrozszy.getSurname() + " wiek: "+ najdrozszy.getAge());
- System.out.println("Ilu pacjentów wymaga podania ibrupomu? " + pacjenciPodIbuprom);
- }
- }
- interface Patient {
- String getName();
- String getSurname();
- int getAge();
- List<Lek> getLeki();
- }
- class ChoryNaGlowe implements Patient {
- @Override
- public String getName() {
- return "Jan";
- }
- @Override
- public String getSurname() {
- return "Kowalski";
- }
- @Override
- public int getAge() {
- return 35;
- }
- @Override
- public List<Lek> getLeki() {
- return List.of(new Lek("ibuprom", 2, 5.0));
- }
- }
- class ChoryNaNoge implements Patient {
- @Override
- public String getName() {
- return "Adam";
- }
- @Override
- public String getSurname() {
- return "Kowalski";
- }
- @Override
- public int getAge() {
- return 30;
- }
- @Override
- public List<Lek> getLeki() {
- return List.of(new Lek("ibuprom", 1, 2.5),
- new Lek("gips", 1, 100));
- }
- }
- class ChoryNaSranie implements Patient {
- @Override
- public String getName() {
- return "Franek";
- }
- @Override
- public String getSurname() {
- return "Kowalski";
- }
- @Override
- public int getAge() {
- return 19;
- }
- @Override
- public List<Lek> getLeki() {
- return List.of(new Lek("wegiel", 1, 20.0),
- new Lek("melisa", 1, 50));
- }
- }
- class Lek {
- private String nazwa;
- private int dawka;
- private double cena;
- public Lek(String nazwa, int dawka, double cena) {
- this.nazwa = nazwa;
- this.dawka = dawka;
- this.cena = cena;
- }
- public String getNazwa() {
- return nazwa;
- }
- public int getDawka() {
- return dawka;
- }
- public double getCena() {
- return cena;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement