Syntax error, insert "}" to...

#1
Hallo leute,
Ich habe einen Code aus dem Buch "Programmieren Lernen mit Java" von Hans-Peter Habelitz abgeschrieben, und nun zeigt mit Eclipse an zwei stellen an, dass ich ein "}" einsetzen soll, obwohl es eigentlich alles so passen müsste.

Javascript:
package bruch;

class Bruch {

    private int zaehler;
    private int nenner;
   
    Bruch () {
        zaehler = 0;
        nenner = 1;
    }
   
    Bruch (int x) {
        zaehler = x;
        nenner = 1;
    }
   
    Bruch (int x, int y) {
        zaehler = x;
        nenner = y;
    }
   
    int getZaehler() {
        return zaehler;
    }
   
    int getNenner() {
        return nenner;
    }
   
    void setZaehler(int z) {
        zaehler = z;
    }
   
    void setNenner(int n) {
        nenner = n;
    }
   
    void ausgeben() {
        System.out.println(zaehler + "/" + nenner);
    }
   
    String bruchToString() {
        return zaehler + "/" + nenner;
    }
   
    void kuerzen() {
        int m, n, r;
        m = Math.abs(zaehler);
        n = Math.abs(nenner);
        r = m % n;
    }
   
    zaehler /= n;
    nenner /= n;
   
    void gekuerztausgeben() {
        kuerzen();
        ausgeben();
    }
   
    boolean equals(Bruch x) {
       
        Bruch a = new Bruch(this.zaehler, this.nenner);
        Bruch b = new Bruch(x.zaehler, x.nenner);
        a.kuerzen();
        b.kuerzen();
        if ((a.zaehler == b.zaehler) && (a.nenner == b.nenner)) {
            return true;
        }
        else {
            return false;
        }
    }
   
    Bruch addiere(Bruch x) {
        Bruch a = new Bruch (this.zaehler, this.nenner);
        Bruch b = new Bruch (x.zaehler, x.nenner);
       
        a.kuerzen();
        b.kuerzen();
       
        Bruch c = new Bruch (a.zaehler + b.zaehler, a.nenner);
        return new Bruch(c.zaehler, c.nenner);
    }
   
    Bruch subtrahiere(Bruch x) {
        Bruch a = new Bruch (this.zaehler, this.nenner);
        Bruch b = new Bruch (x.zaehler, x.nenner);
       
        a.kuerzen();
        b.kuerzen();
       
        Bruch c = new Bruch(a.zaehler - b.zaehler, a.nenner);
        return new Bruch(c.zaehler, c.nenner);
    }
   
    double dezimalwert() {
        double d = this.zaehler / this.nenner;
        return d;
    }
   
}
ich würde mich über schnelle Hilfe freuen.
 

Anhänge

#2
Hi

Code:
zaehler /= n;
nenner /= n;
ist bei dir direkt auf Klassenebene, statt in einer der Methoden. Das geht natürlich nicht. Auf Klassenebene kann man Methoden und Variablen erstellen, aber keinen Code haben der dann damit etwas tut.

Wo diese zwei Zeilen ursprünglich hin sollten bin ich mir nicht sicher; in kuerzen() oben würde es mathematisch zumindest falsch sein (generell schauen mehrere der Methoden mathematisch falsch aus).
 

Neue Beiträge