-
Notifications
You must be signed in to change notification settings - Fork 2
Tavaroita ja laatikoita
mluukkai edited this page Nov 21, 2013
·
1 revision
public interface Talletettava {
double paino();
}
public class CDLevy implements Talletettava {
private String artisti;
private String nimi;
private int vuosiluku;
public CDLevy(String artisti, String nimi, int vuosiluku) {
this.artisti = artisti;
this.nimi = nimi;
this.vuosiluku = vuosiluku;
}
public double paino() {
return 0.1;
}
public String toString() {
return this.artisti+": "+this.nimi+" ("+this.vuosiluku+")";
}
}
public class Kirja implements Talletettava {
private double paino;
private String kirjoittaja;
private String nimi;
public Kirja(String kirjoittaja, String nimi, double paino) {
this.paino = paino;
this.kirjoittaja = kirjoittaja;
this.nimi = nimi;
}
public double paino() {
return this.paino;
}
public String toString() {
return this.kirjoittaja+": "+this.nimi;
}
}
import java.util.ArrayList;
public class Laatikko implements Talletettava {
private ArrayList<Talletettava> esineet = new ArrayList<Talletettava>();
private double maxPaino;
public Laatikko(double paino) {
this.maxPaino = paino;
}
public double paino() {
double paino = 0;
for (Talletettava t : this.esineet) {
paino += t.paino();
}
return paino;
}
public void lisaa(Talletettava esine) {
if (this.paino() + esine.paino() <= this.maxPaino) {
this.esineet.add(esine);
}
}
public String toString() {
return "Laatikko: " + this.esineet.size() + " esinettä, paino yhteensä " + this.paino() + " kiloa";
}
}