Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hfdst6;
- import java.util.*;
- class VrachtwagenException extends Exception {
- }
- abstract class Massa {
- protected double massa;
- protected String naam;
- public Massa(String naam,double massa) {
- this.naam = naam;
- this.massa = massa;
- }
- abstract double bepaalMassa();
- }
- class Item extends Massa {
- public Item(String naam, double massa) {
- super(naam, massa);
- }
- public double bepaalMassa() {
- return massa;
- }
- public String toString() {
- return "<"+naam+":"+massa+">";
- }
- }
- class Doos extends Massa {
- protected ArrayList<Massa> items_boxes = new ArrayList<>(); // Item -> Massa
- public Doos(String naam, double massa) {
- super(naam, massa);
- }
- public double bepaalMassa() {
- double m = this.massa;
- for (Massa i : items_boxes) { // Item -> Massa
- m += i.bepaalMassa();
- }
- return m;
- }
- public void voegToe(Massa item_box) throws VrachtwagenException{ // Item -> Massa
- if(item_box instanceof Vrachtwagen) { // instanceof is een noodkreet die je beter zo min mogelijk gebruikt
- System.out.println("You cannot put a truck inside a box!");
- throw new VrachtwagenException();
- }
- items_boxes.add(item_box);
- }
- public String toString(){
- return "["+naam+" : "+items_boxes+"]";
- }
- }
- class Vrachtwagen extends Doos{
- public Vrachtwagen(String naam, double massa){
- super(naam, massa);
- }
- @Override
- public void voegToe(Massa item_box) throws VrachtwagenException {
- if(item_box instanceof Vrachtwagen) {
- System.out.println("You cannot put a truck inside a truck!");
- throw new VrachtwagenException();
- } else {
- items_boxes.add(item_box);
- }
- }
- }
- public class BerekenMassa {
- public static void main(String[] args) throws VrachtwagenException {
- Doos a = new Doos("a", 125.0);
- Doos b = new Doos("b", 100.0);
- a.voegToe(new Item("a1", 20));
- a.voegToe(new Item("a2", 25));
- b.voegToe(new Item("b1", 30));
- b.voegToe(new Item("b2", 35));
- b.voegToe(new Item("b3", 40));
- System.out.println(a);
- System.out.println(a.bepaalMassa());
- System.out.println(b);
- System.out.println(b.bepaalMassa());
- Doos c = new Doos("c", 150.0);
- c.voegToe(a);
- c.voegToe(b);
- System.out.println(c);
- System.out.println(c.bepaalMassa());
- Vrachtwagen v = new Vrachtwagen("Truck", 2500);
- v.voegToe(a);
- v.voegToe(b);
- System.out.println(v);
- System.out.println(v.bepaalMassa());
- /*
- System.out.println("Testen of men een truck bij een doos kan toevoegen.");
- c.voegToe(v);
- System.out.println(c);
- System.out.println(c.bepaalMassa());
- */
- /*
- System.out.println("Testen of men een truck bij een andere truck kan toevoegen.");
- Vrachtwagen w = new Vrachtwagen("Big Truck", 3000);
- w.voegToe(v);
- System.out.println(w);
- System.out.println(w.bepaalMassa());
- */
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement