Zusatzaufgaben diskutieren

Dr Franke Ghostwriter
Ich poste hier mal mein Ergebnis zur Zusatzaufgabe KE2, der RabattBerechner. Funtz, aber mich interessiert wie ihr das eventuell (besser oder anders) gelöst habt?

public class RabattBerechner {

public double berechneKaufpreis(double preis, boolean istPremiumkunde){

if (preis>100 & preis<1000){
preis= preis*0.95;}
if (preis >1000){
if(istPremiumkunde == true){
preis = preis*0.85;}
else {preis=preis*0.9;
} }

return preis;
}

public static void main(String[] args)
{ System.out.println(new RabattBerechner().berechneKaufpreis(1130, true));
}

}
 
also ich hab den Rabattberechner so:

public class RabattBerechner {

/**
* Methode zur Berechnung des Rabattes in Abhaengigkeit
* von Preis und Kunde
*
* @param preis der urspruengliche Preis
* @param istPremiumkunde true wenn es sich um einen Prämienkunden
* handelt, ansonsten false
* @return der endgueltige Preis (abzueglich Rabatt)
*/
public double berechneKaufpreis(double preis, boolean istPremiumkunde) {

double rabatt = 0;

if (preis<=100) {preis=preis;}
else { if (preis>100 && preis<=1000) {
rabatt=0.05; preis=preis-(preis*rabatt);
}
else { if (istPremiumkunde == true) {
rabatt=0.15; preis=preis-(preis*rabatt);
}
else { rabatt=0.10; preis=preis-(preis*rabatt); }
}
}

return preis;

}

public static void main (String [] args) {
System.out.println(new RabattBerechner().berechneKaufpreis(4000,true));

}
}
 
und das mit den rechtecken so:

public class Geometrie {

/**
* zeichnet ein ausgefülltes Rechteck aus Sternchen
*
* @param breite die Breite
* @param hoehe die Hoehe
*/

public void zeichneAusgefuelltesRechteck(int breite, int hoehe) {

for (int ha = 0; ha < hoehe; ha++) {
for (int ba = 0; ba < breite; ba++) {
System.out.print("*");
}
System.out.println();
}
System.out.println();
}



/**
* zeichnet ein unausgefülltes Rechteck aus Sternchen
*
* @param breite die Breite
* @param hoehe die Hoehe
*/

public void zeichneUnausgefuelltesRechteck(int breite, int hoehe) {

for (int hu = 0; hu < hoehe; hu++) {
for (int bu = 0; bu < breite; bu++) {
if (bu==0 || bu==breite-1 || hu==0 || hu==hoehe-1)
{System.out.print("*");}
else {System.out.print(" ");}
}
System.out.println();
}
}

public static void main (String [] args) {
new Geometrie().zeichneAusgefuelltesRechteck(7, 4);
new Geometrie().zeichneUnausgefuelltesRechteck(5, 4);
}

}
 
So, dass leere Quadrat zeichnen hab ich jetzt auch.
Hab nur das else in der if-schleife ( leerzeichen drucken) nicht dabei, geht aber auch.
Ich hab gerade mal zu Übungszwecken versucht das Programm als Aktivitätsdiagramm zu zeichnen,
um mir klar zu machen, was da vor sich geht. Hat mir sehr geholfen nachzuvollziehen, wann das Programm von wo nach wo springt.
Geh jetzt wieder zur KE 3 über.
LG
Sascha
 
Oben