View difference between Paste ID: VYLz97HM and CFWKWjAz
SHOW: | | - or go back to the newest paste.
1
public abstract class Item {
2
    private String name;
3
    private double weight;
4
    private double value;
5
6
    public String getName()   { return name;   }
7
    public double getWeight() { return weight; }
8
    public double getValue()  { return value;  }
9
10
    public void setName(String name)     { this.name = name;     }
11
    public void setWeight(double weight) { this.weight = weight; }
12
    public void setValue(double value)   { this.value = value;   }
13
}
14
15
public abstract class Container extends Item {
16
    private Item[] content = new Item[0];
17
18
    public Item getItem(int index) { return content[index]; }
19
    public void addItem(Item item) {
20
        //Dorzuć nowy przedmiot do tablicy
21
        int numberOfItems = content.length;
22
        Item[] tempContent = new Item[numberOfItems+1];
23
        for (int i = 0; i < numberOfItems; ++i)
24
            tempContent[i] = content[i];
25
        tempContent[numberOfItems] = item;
26
		content = tempContent;
27
28
        //Zwiększ wagę kontenera
29
        double currentWeight = getWeight();
30
        double newWeight = currentWeight + item.getWeight();
31
        setWeight(newWeight);
32
    }
33
}
34
35
//Dwie klasy do testowania
36
public class Rock extends Item {
37
    public Rock(double weight, double value) {
38
        setName("Rock");
39
        setWeight(weight);
40
        setValue(value);
41
    }
42
}
43
public class Chest extends Container {
44
    public Chest(double weight, double value) {
45
        setName("Chest");
46
        setWeight(weight);
47
        setValue(value);
48
    }
49
}
50
51
public class Main {
52
    public static void main(String[] args) {
53
        Container chest1 = new Chest(10, 20);
54
        Container chest2 = new Chest(15, 20);
55
        Item rock1 = new Rock(5, 0);
56
        Item rock2 = new Rock(5, 0);
57
58
        chest1.addItem(rock1);
59
        chest2.addItem(rock2);
60
        chest1.addItem(chest2);
61
62
        System.out.println("Waga chest1: " + chest1.getWeight());
63
    }
64
}