BKO W AH12 – WI-Übungstest - JAVA - K. Fröhlig – April
2021
1
1
Code Aufgaben.. Pkt
/**
* Beschreiben Sie hier die Klasse Lager.
* @author ( ) Schreibe hier Deinen Namen rein 1
* @version (2021) */
public class lager {
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen Was bewirkt ‚//‘? 1 String produktname;
double preis;
double verbrauch;
double mindestbestellmenge;
double aktBestand;
/**
* Konstruktor für Objekte der Klasse Lager Was macht ein Konstruktor? 2
*/
public ( inpProduktname, inpPreis, inpMindestbestellmenge, Ergänze!
inpAktBestand, inpVerbrauch) {
// Instanzvariable initialisieren
produktname = ; preis=inpPreis;
mindestbestellmenge=inpMindestbestellmenge;
= inpVerbrauch;
aktBestand = inpAktBestand;
}
public void produktInfoDrucken() Was bedeutet void? 2
{ // Was kann hier reingeschrieben
werden? 2
System.out.println();
System.out.println("Bestandsinformationen:");
bestandDrucken(); Was passiert hier? 2
bestandsWertDrucken();}
private void bestandsWertDrucken() { // Drucken
BKO W AH12 – WI-Übungstest - JAVA - K. Fröhlig – April
2021
2
2
System.out.println("Der Preis des Produktes beträgt " + preis+ ". Somit beträgt aktuelle Lagerbestandswert "+ rundenEuro(aktBestand*preis)+".");}
private void bestandDrucken() { // Drucken
System.out.println("Der aktuelle Lagerbestand vom Produkt " + produktname+ " beträgt "+
aktBestand+".");
}
public void produktVerbrauchen(double verbrauchsmenge) { // Verbrauch: aktBestand wird vermindert
aktBestand = aktBestand - ; Ergänze! 1
bestandDrucken();
System.out.println();}
public void lagerauffuellen( ) Ergänze! 2
{ // Verbrauch
aktBestand = aktBestand + menge;
bestandDrucken();
System.out.println();}
public void bestellmengePruefen()
{ Was bewirkt diese Methode?(im
Detail)
System.out.println(); 1
System.out.println("Bestellmenge prüfen: "); 1
bestandDrucken(); 1
if (aktBestand > mindestbestellmenge) 1
System.out.println("Es muss noch nichts bestellt werden."); 1
else System.out.println("Der Lagerbestand muss aufgefüllt werden."); ; 1
}
public double optBestellhaeufigkeitlBerechnen(double lagerZinssatz, double bestellkosten) Was steht in den Klammern? 2 {
// lokale Variablen deklarieren und initialisieren ...
; Ergänze! 2
optBestMenge=Math.pow(lagerZinssatz*verbrauch*0.5*preis/bestellkosten,0.5); Wie lautet die angewendete Formel?
3 System.out.println("Die optimale Bestellhäufigkeit pro Jahr beträgt "+
runden(optBestMenge,0)+ " mal."); Was bewirkt „runden“? 2
BKO W AH12 – WI-Übungstest - JAVA - K. Fröhlig – April
2021
3
3
System.out.println("Dabei müssen "+ runden(verbrauch/optBestMenge,0)+ " Stück bestellt werden.");
return runden(optBestMenge,0); Was passiert hier?
}
private double gesKostenBerechnen(int anzBestellung, double lagerZinssatz, double
bestellkosten) Was bedeutet private?
Was bewirkt hier double? 2 2 { //
double gesKosten, lagerkosten,gesBestellkosten, lagerbestandswert ; Warum sind diese 2 Zeilen 2
double bestellmenge,durchschnLagerbestand ; erforderlich?
// Berechnungen
gesBestellkosten= runden(anzBestellung*bestellkosten,2); Was passiert hier? 2
bestellmenge=runden(verbrauch/anzBestellung,0);
durchschnLagerbestand=runden(bestellmenge/2,0);
lagerbestandswert=runden(durchschnLagerbestand*preis,2);
lagerkosten=runden(lagerbestandswert*lagerZinssatz,2);
gesKosten= runden(lagerkosten+gesBestellkosten,2);
// Zeile drucken
System.out.println(anzBestellung +" "+ bestellmenge+" "+gesBestellkosten+"
"+durchschnLagerbestand+" "
+lagerbestandswert+" "+lagerkosten+" "+gesKosten);
return gesKosten; Ist dieses Statement zwingend
erforderlich? Wo wird es noch benötigt?
4
}
private void ueberschriftDrucken() Warum ist diese Methode
private?
{
// Leerzeile und Überschrift drucken ....
System.out.println();
System.out.println("Anzahl Bestell- Bestell- Lagerbestand Lagerwert Lager Gesamt");
System.out.println("Bestellungen Menge kosten im Durchschn. im Durchschn.
Kosten Kosten");
}
public void bestellKostenAusgeben1(int maxBestellanzahl, double lagerZinssatz, double bestellkosten)
Beschreibe Schritt für Schritt was in dieser Methoden passiert.
3
BKO W AH12 – WI-Übungstest - JAVA - K. Fröhlig – April
2021
4
4
{
// Leerzeile und Überschrift drucken .... 1
System.out.println("Bestellkosten ausgeben 1"); 1
ueberschriftDrucken(); 1
int anzBestellung; 1
anzBestellung=1; 1
while (anzBestellung < maxBestellanzahl+1) 1
{gesKostenBerechnen(anzBestellung, lagerZinssatz,bestellkosten); 3
anzBestellung=anzBestellung+1; 1
}}
public void bestellKostenAusgeben2(double lagerZinssatz, double bestellkosten) Worin liegt der Unterschied zwischen
bestellKostenAusgeben2 und bestellKostenAusgeben1
5
{
System.out.println();
System.out.println("Bestellkosten ausgeben 2");
ueberschriftDrucken();
int anzBestellung;
double gesKosten1, gesKosten2;
anzBestellung=0;
gesKosten1=0;
gesKosten2=0;
do {
anzBestellung=anzBestellung+1;
gesKosten1=gesKostenBerechnen(anzBestellung, lagerZinssatz,bestellkosten);
anzBestellung=anzBestellung+1;
gesKosten2=gesKostenBerechnen(anzBestellung, lagerZinssatz,bestellkosten);
} while(gesKosten1 > gesKosten2) ; }
public static double runden(double value, int nachkommastellen) Wie oft wird diese Methode benötigt?
Was macht die Methode?
2 2 {//Runden -gefunden im Internet
double d = Math.pow(10, nachkommastellen);
return Math.round(value * d) / d;
} }