Created
December 15, 2018 15:36
-
-
Save hannojg/55865c593186bcba4908e17c195c0e73 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Ein Wuerfel, der aus Gummi besteht und eine bestimmte Form hat. | |
* Er verhaelt sich auf bestimmte Art und Weise wenn er gedrueckt wird. | |
*/ | |
public class Gummiwuerfel implements Produkt { | |
private double hoehe, laenge, breite; | |
private double gesamtPresskraft; | |
private int pressvorgaenge = 0; | |
/** | |
* Erstellt einen neuen Gummiwuerfel mit gleichlangen Seiten, | |
* die der gegebenen seitenlaenge entsprechen | |
* @param seitenlaenge Seitenlaenge fuer den Wuerfel | |
*/ | |
public Gummiwuerfel(double seitenlaenge) { | |
this.hoehe = seitenlaenge; | |
this.laenge = seitenlaenge; | |
this.breite = seitenlaenge; | |
} | |
/** | |
* Dureckt den Wuerfel um einen gegebenen Faktor. Bei einem Faktor der größer | |
* als 5 ist wird der Wuerfel halbiert in der Hoehe. Laenge und Breite bleiben | |
* gleich. Mit jeder weiteren fuenfer Abstufung wird der Wuerfel erneut halbiert. | |
* @param pressfaktor Pressfaktor der auf den Wuerfel drueckt | |
*/ | |
public void druecke(double pressfaktor) { | |
//akkumuliere gesamt presskraft, da mehrere Pressen angelegt sein koennen | |
gesamtPresskraft += pressfaktor; | |
//Rechne die Anzahl an nötigen Pressvorgängen nach der gesamten Pressleistung aus | |
int gesamtPressvorgaenge = new Double(gesamtPresskraft - (gesamtPresskraft % 5)).intValue()/5; | |
for(int i=pressvorgaenge+1;i<=gesamtPressvorgaenge;i++) { | |
pressvorgaenge = i; | |
//Teile die Hoehe durch den gegebenen Faktor | |
hoehe = hoehe / 2; | |
} | |
} | |
/** | |
* Gibt die Daten des Wuerfels in der Standardausgabe aus. | |
*/ | |
public void print() { | |
System.out.format("Gummiwürfel: %.2fx%.2fx%.2f\n", laenge, breite, hoehe); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment