Brüche kürzen

mihe7

Top Contributor
Nein, das ist kein gültiger Code. Einfach so:
Java:
    public Fraction(int numerator, int denominator) {
        this.numerator = numerator;
        this.denominator = denominator;
       
        if(denominator<0){
            this.numerator = -numerator;
            this.denominator = -denominator;
        }
        if(denominator == 0){
            this.denominator = 1;
        }
        shorten();
    }
 

mihe7

Top Contributor
Die beiden sehen in Ordnung aus, add() und divide() sind noch falsch, wobei Du divide() jetzt unter Verwendung von multiply() und reciprocal() schreiben kannst.
 
Ist es so richtig?

Java:
    public Fraction divide(Fraction f) {
        return multiply(this.reciprocal());
    }
    
    public Fraction add(Fraction f) {
        return new Fraction(numerator * f.denominator + denominator * f.numerator, denominator * f.denominator);
    }
 

mihe7

Top Contributor
add ja, divide nicht. Wofür bekommst du denn f übergeben, wenn Du es nicht verwendest?

Außerdem: warum probierst Du es nicht einfach aus?
 

KonradN

Super-Moderator
Mitarbeiter
Was soll denn dort in der Ausgabe stehen?
Du kannst doch Code schreiben, der es testet. Du gibst also immer etwas vor, berechnest es mit Deinem Code und schaust dann, ob das Ergebnis richtig ist.

Beispiel: Du erstellst den Bruch 2/-4 und gibst ihn aus: was wäre das erwartete Ergebnis? Was muss ausgegeben werden?

(Der erste wichtige Punkt ist immer, dass die Anforderungen verstanden wurden. Hast du das? Kannst du sagen, was da im Bruch gespeichert sein muss, was danach ausgegeben werden muss?)
 
Sind meine Methoden über shorten() in Ordnung:

Java:
    /**
     * Gibt den Nenner zurueck.
     */
    public int getDenominator() {
        return denominator;
    }

    /**
     * Gibt den Zaehler zurueck.
     */
    public int getNumerator() {
        return numerator;
    }

    /**
     * Gibt den Bruch als Gleitkommazahl zurueck.
     */
    public double toDouble() {
        double fraction = (double)numerator / denominator;
        return fraction;
    }

    /**
     * Gibt einen String im Format
     * "Zaehler/Nenner" zurueck.
     */
    public String toString() {
        String fraction = numerator + "/" + denominator;
        return fraction;
    }

Ich bin mir nicht sicher, weil ich glaube, dass ich bei toDouble() Typcasting verwenden muss, um eine Gleitkommazahl bei der Rechnung mit Ganzzahlen zu erhalten. Kann jemand darüberschauen? Ich habe es mit 2/-4 kontrolliert, aber dann kam diese Fehlermeldung:

Main.java:1: error: class Fraction is public, should be declared in a file named Fraction.java
public class Fraction {
^
1 error

Ich hatte eine Datei namens Fraction.java schon erstellt, aber dieser Fehler kommt trotzdem auf. Deshlab weiß ich nicht, ob es jetzt mit den Brüchen klappen wird oder nicht.
 

temi

Top Contributor
Du kannst doch Code schreiben, der es testet.
Aber aufpassen, dass du in deinem Test auch unterschiedliche Fälle und ggf. Grenzfälle testest, sonst kannst du leicht zu einem falschem positivem Ergebnis kommen:
Java:
public class Adder {

    // addiert zwei Werte
    public int add(int a, int b) {
        return a + 2;
    }

    public static void main(String[] args) {
        Adder adder = new Adder();
        // Test der Addition
        System.out.println(adder.add(2,2)); // ergibt 4, scheint zu passen, oder?
        System.out.println(adder.add(2,3)); // ergibt 4, oh - doch nicht...
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kirby.exe Brüche kürzen Java Basics - Anfänger-Themen 12
J Brüche kürzen Java Basics - Anfänger-Themen 11
B Brüche kürzen Java Basics - Anfänger-Themen 7
S [HILFE] Brüche addieren, multiplizieren, kürzen Java Basics - Anfänger-Themen 17
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
L Brüche in java Java Basics - Anfänger-Themen 7
G OOP- Brüche addieren Java Basics - Anfänger-Themen 3
O Methoden implementieren, Sichtbarkeiten, Brüche Java Basics - Anfänger-Themen 104
S Zahlenformat für unendliche Brüche? Java Basics - Anfänger-Themen 7
Eileen Brüche addieren in Zwei Klassen mit JOptionPane Java Basics - Anfänger-Themen 4
kb interface / Brüche in java übergeben Java Basics - Anfänger-Themen 3
S Brüche, Fließkommazahlen Java Basics - Anfänger-Themen 3
H Zahlen kürzen Java Basics - Anfänger-Themen 2
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
J Dezimalzahl in Bruch Umwandeln und Kürzen Java Basics - Anfänger-Themen 8
G Code kürzen Java Basics - Anfänger-Themen 5
G code kürzen Java Basics - Anfänger-Themen 16
F String auf E-Mail kürzen Java Basics - Anfänger-Themen 11
F Code kürzen Java Basics - Anfänger-Themen 9
E Methoden Math.Random() kürzen ? Java Basics - Anfänger-Themen 2
J Code kürzen Java Basics - Anfänger-Themen 11
E Arrayeintrag nach Index löschen und Array kürzen Java Basics - Anfänger-Themen 3
E String komprimieren - Kürzen ohne Informationsverlust? Java Basics - Anfänger-Themen 13
A String kürzen Java Basics - Anfänger-Themen 12
K taschenrechner - Fehler beim Kürzen eines Bruches finden Java Basics - Anfänger-Themen 20
J kürzen von brüchen Java Basics - Anfänger-Themen 9
N Datentypen Double nach 2 stellen kürzen Java Basics - Anfänger-Themen 4
D String kürzen, nich abschneiden Java Basics - Anfänger-Themen 9
M Text kürzen Java Basics - Anfänger-Themen 7
M Quelltext kürzen Java Basics - Anfänger-Themen 8
E Interface einfügen und Code kürzen Java Basics - Anfänger-Themen 15
M Programmierung kürzen??? Java Basics - Anfänger-Themen 5
E Kürzen des Quelltextextes Java Basics - Anfänger-Themen 16
U Code kürzen Java Basics - Anfänger-Themen 4
G bruch soweit es geht kürzen Java Basics - Anfänger-Themen 12
A String um 1 Zeichen kürzen ? Java Basics - Anfänger-Themen 6
S String kürzen auf bestimmte Länge Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben