MASchmidt icon

Ü09 OOP 1. Bruch

MASchmidt | PRO | 01/12/18 06:20:41 PM UTC | 0 ⭐ | 203 👁️ | Never ⏰ | []
Java |

2.36 KB

|

None

|

0 👍

/

0 👎

public class Bruch {
 
    public int zaehler;
    public int nenner;
 
    public Bruch(int zaehler, int nenner) {
        this.zaehler = zaehler;
        this.nenner = nenner;
    }
    
    public Bruch(int zaehler) {
        this.zaehler = zaehler;
        this.nenner = 1;
    }
    
    public String toString() {
        this.kuerze();
        String s = this.zaehler + " / " + this.nenner;
        return s;
    }
    
    public void addiere(Bruch b) {
        this.zaehler = (this.zaehler * b.nenner) + (b.zaehler * this.nenner);
        this.nenner = this.nenner * b.nenner;
        this.kuerze();
    }
    
    public void subtrahiere(Bruch b) {
        this.zaehler = (this.zaehler * b.nenner) - (b.zaehler * this.nenner);
        this.nenner = this.nenner * b.nenner;
        this.kuerze();
    }
    
    public void multipliziere(Bruch b) {
        this.zaehler = this.zaehler * b.zaehler;
        this.nenner = this.nenner * b.nenner;
        this.kuerze();
    }
    
    public void dividiere(Bruch b) {
        this.zaehler = this.zaehler * b.nenner;
        this.nenner = this.nenner * b.zaehler;
        this.kuerze();
    }
    
    public double wert() {
        double wert = (double) this.zaehler / (double) this.nenner;
        return wert;
    }
    
    public void kuerze() {
        int ggT = ggT(this.zaehler, this.nenner);
        this.nenner = this.nenner / ggT;
        this.zaehler = this.zaehler / ggT;
    }
    
    private static int ggT(int x, int y) {
        while (y != 0) {
            int temp = x % y;
 
            x = y;
 
            y = temp;
        }
        return x;
    }
    
    public static Bruch addiere(Bruch a, Bruch b) {
        int zaehler = (a.nenner * b.zaehler) + (b.nenner * a.zaehler);
        int nenner = a.nenner * b.nenner;
        
        Bruch c = new Bruch(zaehler, nenner);
        c.kuerze();
        return c;
    }
    
    public static Bruch subtrahiere(Bruch a, Bruch b) {
        int zaehler = (b.nenner * a.zaehler) - (a.nenner * b.zaehler);
        int nenner = a.nenner * b.nenner;
        
        Bruch c = new Bruch(zaehler, nenner);
        c.kuerze();
        return c;
    }
    
    public static Bruch multipliziere(Bruch a, Bruch b) {
        int zaehler = a.zaehler * b.zaehler;
        int nenner = b.nenner * a.nenner;
        
        Bruch c = new Bruch(zaehler, nenner);
        c.kuerze();
        return c;
    }
    
    public static Bruch dividiere(Bruch a, Bruch b) {
        int zaehler = a.zaehler * b.nenner;
        int nenner = a.nenner * b.zaehler;
        
        Bruch c = new Bruch(zaehler, nenner);
        c.kuerze();
        return c;
    }
    
    //Nur für Jack Static Result
    public static void main(String[] args) {
        
    }
    
}

Comments