35 lines
1 KiB
Java
35 lines
1 KiB
Java
|
public class Anteil extends Bruch {
|
||
|
|
||
|
private static Bruch verteilt = new Bruch(0, 1);
|
||
|
|
||
|
// Standardkonstruktor: Anteil = 0
|
||
|
public Anteil() {
|
||
|
super(0, 1);
|
||
|
}
|
||
|
|
||
|
// Konstruktor mit Zähler und Nenner
|
||
|
public Anteil(int z, int n) {
|
||
|
super(z, n);
|
||
|
Bruch neuerAnteil = new Bruch(z, n);
|
||
|
verteilt = verteilt.addiere(neuerAnteil);
|
||
|
|
||
|
if (verteilt.dezimalwert() > 1) {
|
||
|
System.out.println("Fehler: Der Gesamtwert der verteilten Anteile übersteigt 1.");
|
||
|
verteilt = verteilt.subtrahiere(neuerAnteil); // Rollback des Fehlers
|
||
|
setZaehler(0); // Setzt Anteil zurück
|
||
|
setNenner(1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Methode, um den verteilten Anteil als double zu erhalten
|
||
|
public static double getVerteilt() {
|
||
|
return verteilt.dezimalwert();
|
||
|
}
|
||
|
|
||
|
// Methode, um den verbleibenden Anteil als Bruch zu erhalten
|
||
|
public static Bruch getRest() {
|
||
|
Bruch eins = new Bruch(1, 1);
|
||
|
return eins.subtrahiere(verteilt);
|
||
|
}
|
||
|
}
|