Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.54 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import java.util.Observable;
  4.  
  5.  
  6. class Towar implements Observer {
  7.    
  8.     private double pricePLN;
  9.     private double priceEUR;
  10.  
  11.    
  12.  
  13.     @Override
  14.     public void update() {
  15.         pricePLN = priceEUR * nbp.getKurs();
  16.         throw new UnsupportedOperationException("Not supported yet.");
  17.     }
  18. }
  19.  
  20. interface Observer {
  21.     public abstract void update();}
  22. }
  23.  
  24. class Calculate extends Observer {
  25.  
  26.     public Calculate(Towar towar) {
  27.         this.towar = towar;
  28.         this.towar.attach(this);
  29.     }
  30.  
  31.     @Override
  32.     public void update() {
  33.  
  34.         System.out.println("Cena w PLN: " + towar.getState());
  35.     }
  36. }
  37.  
  38. class NBP {
  39.  
  40.     private List<Observer> observers = new ArrayList<Observer>();
  41.    
  42.     private double kurs = 4.2;
  43.  
  44.     public double getKurs() {
  45.         return kurs;
  46.     }
  47.    
  48.     public void changeKurs(double kurs) {
  49.         this.kurs = kurs;
  50.         notifyAllObservers();
  51.     }
  52.  
  53.     public void attach(Observer observer) {
  54.         observers.add(observer);
  55.     }
  56.  
  57.     public void notifyAllObservers() {
  58.         for (Observer observer : observers) {
  59.             observer.update();
  60.         }
  61.     }
  62.  
  63. }
  64.  
  65. public class Sklep {
  66.  
  67.     public static void main(String[] args) {
  68.         // TODO code application logic here
  69.         Towar towar = new Towar();
  70.  
  71.         new Calculate(towar);
  72.  
  73.         System.out.println("cena w euro: 15");
  74.         towar.setState(20);
  75.         System.out.println("cena w euro: 10");
  76.         towar.setState(10);
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement