rendered paste bodyimport java.util.Scanner;
public class Suklaajaatelokone extends Jaatelokone{
private double kaakaota;
private double kaakaonKulutus;
public Suklaajaatelokone(double kermanKulutus, double sokerinKulutus, double kaakaonKulutus) {
super(kermanKulutus, sokerinKulutus);
this.kaakaota = 0;
if (this.kaakaonKulutus > 0.0)
this.kaakaota = kaakaonKulutus;
}
//Konstruktori luo uuden suklaajäätelökoneen, jolla on parametrina annettu kerman, sokerin ja kaakaon kulutus. Jos joku annetuista parametreista on negatiivinen tai nolla, asetetaan vastaavaksi kulutukseksi yliluokassa määritelty vakio Jaatelokone.PERUSKULUTUS (koska vakio on julkinen, voit käyttää sitä myös aliluokassa).
public void lisaaAineita(double kermaa, double sokeria, double kaakaota) {
super.lisaaAineita( kermaa, sokeria);
if (kaakaota > 0)
this.kaakaota += kaakaota;
}
//Metodi lisää suklaajäätelökoneeseen kermaa, sokeria ja kaakaota parametrina annetut määrät. Jos joku parametreista on negatiivinen, vastaavan aineen määrä jäätelökoneessa ei muutu.
public double paljonko(){
double kaakaoRiittaa;
kaakaoRiittaa = this.kaakaota / this.kaakaonKulutus;
if (super.paljonko() > kaakaoRiittaa)
return kaakaoRiittaa;
else
return super.paljonko();
}
//Metodi laskee, kuinka paljon jäätelöä koneista olevista aineksista voidaan valmistaa ja palauttaa tämän määrän.
public double valmista(double maara) {
double maxMaara;
//if (maara < 0)
// return 0.0;
maxMaara = this.paljonko();
if (maxMaara < maara)
maara = maxMaara;
super.valmista(maara);
this.kaakaota -= this.kaakaonKulutus * maara;
return maara;
}
//Metodi valmistaa jäätelöä parametrina annetun määrän, korkeintaan kuitenkin niin paljon kuin mihin koneessa olevat ainekset riittävät. Metodi palauttaa valmistetun määrän.
public String toString() {
return super.toString() + "/n" + "Kaakaota: " + this.kaakaota + " grammaa";
}
//Metodi palauttaa merkkijonon, joka sisältää tiedon koneen sisältämän jäätelön, kerman, sokerin ja kaakaon määrästä seuraavan mallin mukaisesti.
//Jaateloa: 0.0 litraa
//Kermaa: 1000.0 grammaa
//Sokeria: 800.0 grammaa
//Kaakaota: 100.0 grammaa
public static void main(String[] args) {
Scanner nappis;
Suklaajaatelokone sjk;
System.out.println("Luodaan uusi kone suklaajaatelon valmistukseen.");
System.out.println("Kone tarvitsee kermaa, sokeria ja kaakaota.");
System.out.println("");
System.out.println("Anna kerman kulutus (grammaa/litra):");
double kermanKulutus = nappis.nextDouble();
System.out.println("Anna sokerin kulutus (grammaa/litra):");
double sokerinKulutus = nappis.nextDouble();
System.out.println("Anna kaakaon kulutus (grammaa/litra):");
double kaakaonKulutus = nappis.nextDouble();
sjk = new Suklaajaatelokone(kermanKulutus, sokerinKulutus, kaakaonKulutus);
System.out.println("Luotiin tyhja suklaajaatelokone annetuilla arvoilla.");
System.out.println(Suklaajaatelokone.class.toString());
System.out.println("");
System.out.println("Jaateloa ei voi tehda ilman aineksia.");
System.out.println("Lisataan koneeseen ainekset.");
System.out.println("");
System.out.println("Anna lisattavan kerman maara (grammoina):");
double kerma1 = nappis.nextDouble();
sjk.lisaaAineita(kerma1, 0.0, 0.0);
System.out.println("Anna lisattavan sokerin maara (grammoina):");
double sokeria = nappis.nextDouble();
sjk.lisaaAineita(0.0,sokeria,0.0);
System.out.println("Anna lisattavan kaakaon maara (grammoina):");
double kaakaota = nappis.nextDouble();
sjk.lisaaAineita(0.0, 0.0, kaakaota);
System.out.println("");
System.out.println("Lisattiin koneeseen annetut maarat aineksia.");
System.out.println(Suklaajaatelokone.class.toString());
System.out.println("");
System.out.println("Jaatelon valmistus voidaan aloittaa.");
System.out.println("Montako litraa jaateloa haluat valmistaa?");
double maara = nappis.nextDouble();
System.out.println("Valmistetaan jaatelo.");
sjk.valmista(maara);
System.out.println(Suklaajaatelokone.class.toString());
System.out.println("");
System.out.println("Pakataan jaatelo.");
System.out.println("Valmiita litran pakkauksia on " + sjk.pakkaa() + " kappaletta.");
System.out.println("Jaatelokone pakkaamisen jalkeen:");
System.out.println(Suklaajaatelokone.class.toString());
}
}