Syntax error, insert "}" to...

JavaJuengling

Grünschnabel
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

  • hilfe.png
    hilfe.png
    151,4 KB · Aufrufe: 4
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).
 
Habe den code gerade noch einmal durchgelesen, und bemerkt, dass ich ausversehen eine while-schleife übersprungen habe. Jetzt scheint alles zu funktionieren
 
an den Methoden addiere, subtrahiere und dezimalwert bin ich grade noch dran, diese sollte ich selbst ergänzen, daher sind diese noch nicht optimal
 

Neue Beiträge

Zurück