import java.util.ArrayList; class B?t { private String navn; private final int maksVekt; private final double maksVolum; private ArrayList lasteliste; private boolean ferdigLastet = false; B?t(String navn, int maksVekt, double maksVolum) { this.navn = navn; this.maksVekt = maksVekt; this.maksVolum = maksVolum; this.lasteliste = new ArrayList<>(); } String hentNavn() { return navn; } boolean leggTilLast(Lastbar last) { if ( beregnVekt() + last.hentVekt() > maksVekt || beregnVolum() + last.hentVolum() > maksVolum ) { return false; } else { lasteliste.add(last); return true; } } int beregnVekt() { int vekt = 0; for (Lastbar last : lasteliste) { vekt += last.hentVekt(); } return vekt; } int hentMaksVekt() { return maksVekt; } double hentMaksVolum() { return maksVolum; } double beregnVolum() { double volum = 0.0; for (Lastbar last : lasteliste) { volum += last.hentVolum(); } return volum; } boolean klar() { return ferdigLastet; } void klarTilReise() { ferdigLastet = true; } void skrivLasteManifest() { System.out.println(navn + " er lastet med:"); for (Lastbar last : lasteliste) { if (last instanceof Levende) { System.out.printf( "%-30s %5d kg %5.1f m3 (levende)%n", last.hentBeskrivelse(), last.hentVekt(), last.hentVolum() ); } else { System.out.printf( "%-30s %5d kg %5.1f m3%n", last.hentBeskrivelse(), last.hentVekt(), last.hentVolum() ); } } } }