Zählen von Rationalen Werten eines Arrays

ngtd

Mitglied
Hallo Leute.
Ich bin neu hier, da mich grade bei einer Aufgabe ein Problem nicht weiterkommen lässt.
Und zwar soll ich eine rekursive Methode erstellen, die auf einem Feld von Fraction-Objekten arbeitet.
Die Klasse Fraction habe ich bereits vorgegeben. Sie sieht wie folgt aus:

Java:
public class Fraction {
   private int numerator;  // Zaehler
   private int denominator;  // Nenner

   public Fraction(int num, int denom) {
     if (denom != 0) {
       if (denom < 0) {
       numerator = -num;
       denominator = -denom;
       } else {
       numerator = num;
       denominator = denom;
       }
       reduce();
     } else {
       // error: division by zero
       throw new IllegalArgumentException();
     }  
   }
   
   public Fraction() {
     numerator = 0;
     denominator = 1;
   }
   
   public Fraction(int num) {
     numerator = num;
     denominator = 1;
   }
   
   public String toString() {
     return numerator + " / " + denominator;
   }
   
   public Fraction changeSign() {
     return new Fraction(-numerator, denominator);
   }
   
   public Fraction reverse() {
     return new Fraction(denominator, numerator);
   }

   public Fraction add(Fraction other) {
     int num = numerator * other.denominator + other.numerator * denominator;
     int denom = denominator * other.denominator;
     return new Fraction(num, denom);
   }

   public Fraction subtract(Fraction other) {
     int num = numerator * other.denominator - other.numerator * denominator;
     int denom = denominator * other.denominator;
     return new Fraction(num, denom);
   }

   public Fraction multiply(Fraction other) {
     int num = numerator * other.numerator;
     int denom = denominator * other.denominator;
     return new Fraction(num, denom);
   }
   
   public Fraction divideBy(Fraction other) {
     return multiply(other.reverse());
   }
   
   public double toDouble() {
     return (double)numerator / (double)denominator;
   }
   
   public Fraction clone() {
     return new Fraction(numerator, denominator);
   }   
   
   public boolean equals(Fraction other) {
     return numerator == other.numerator & denominator == other.denominator;
   }
   
   private void reduce() {
     if (numerator != 0) {
       int gcd = calculateGcd();
       numerator /= gcd;
       denominator /= gcd;
     } else {
       denominator = 1;
     }
   }
   
   public int calculateGcd() {
     int value1 = Math.abs(numerator);
     int value2 = denominator;
     while (value1 != 0 & value2 != 0) {
       if (value1 > value2) {
         value1 = value1 % value2;
       } else {
         value2 = value2 % value1;
       }
     }
     if (value1 == 0) {
       return value2;
     } else {
       return value1;
     }
   }
}
Nun soll ich eine Methode mit der Signatur: Fraction count ( Fraction[] arr, int i ) entwerfen, die die Anzahl an durch zwei teilbaren Brüchen zurückgibt.
Nur weiß ich leider überhaupt nicht wie ich das anstellen soll, da Zähler und Nenner ja privat angelegt sind und auch keine Methoden existieren die es mir ermöglichen da dran zu kommen. Oder überseh ich da was?

Ich bin über jede Hilfe dankbar.
MfG
Nils
 
Zuletzt bearbeitet von einem Moderator:

JStein52

Top Contributor
Du sollst diese Methode doch sicher in der Klasse Fraction erstellen ??!! Warum kommst du da nicht an Zähler und Nenner ?
 

ngtd

Mitglied
Bis jetzt war es so, dass ich die Methode in einer neuen Klasse schreiben musste. Deshalb geh ich hierbei auch davon aus
 

JStein52

Top Contributor
Ok, kann man nicht mit der toDouble was anfangen ? Du könntest versuchen festzustellen ob das eine gerade Zahl ist ?! Ist aber double mit Nachkommastellen und wohl nicht das richtige. Und mit dem ggT kann man nichts anfangen ? Ich nehme mal an toString und dann den String parsen und Zaehler und Nenner rausholen gilt als unsportlich :):):)
 

stg

Top Contributor
Da passt irgendwie gar nichts so richtig zusammen. Deine Methode soll eine gewisse Anzahl an irgendwas zurückgeben. Für mich heißt das, es wird ein ganzzahliges Ergebnis erwartet, also etwa int. Laut Signatur soll deine Methode aber wieder einen Bruck zurückgeben?!
Und zudem: Was ist denn bitteschön ein "durch zwei teilbarer Bruch"? Allein diese Formulierung ist doch schon unsinnig. Also, was genau sollst du eigentlich machen? Poste am besten den original Wortlaut der Aufgabe.
 

ngtd

Mitglied
Das war nur eine Grobe Vorgabe. Also die Signatur soll am Ende so sein und das Beispiel war von mir gewählt. Sollte heißen, dass alle Werte deren Nenner ein Vielfaches von 2 ist gezählt werden sollten.
Im Grund ja auch kein großes Problem. Erst alle Werte ausschließen, die außerhalb des zu betrachtenden Arrays liegen, dann die Abbruchbedingung und schlussendlich die Rekursion für die Werte die ich haben will. Mein Einziges Problem dabei ist der Aufruf von Zähler und Nenner.

Aber danke schon mal für die Antworten. zu JStein52: Ich denke das geht über das was wir bis jetzt gemacht haben hinaus.
Und stg: was ist ein Bruck?
 

ngtd

Mitglied
Bis jetzt war es so, dass man die bestehende Klasse, in diesem Fall Fraction, nicht verändern darf. Da ich davon ausgehe, dass es hier auch wieder so ist fürchte ich geht das nicht so einfach. sonst wäre das ja kein Problem einfach kurz ein getNumerator und getDenominator zu schreiben. aber das müsste dann ja in Fraction stattfinden wenn ich mich nicht sehr irre
 

JStein52

Top Contributor
Wenn du eine Methode in Fraction hinzufügen dürftest dann könntest du ja gleich eine hinzufügen die angibt ob der Bruch durch 2 teilbar ist :):):):)
 

stg

Top Contributor
sonst wäre das ja kein Problem einfach kurz ein getNumerator und getDenominator zu schreiben.

Wenn das wirklich das einzige Problem ist, dann ruf doch einfach die toString-Methode auf und parse den String entsprechend.

EDIT: Ach, das hat JStein ja auch schon vorgeschlagen.

Naja, aber unabhängig davon bleibe ich dabei: Solange du nicht den originalen Wortlaut der Aufgabe postest, wird man dir nicht gescheit helfen können. In deinen Aussagen sind zu viele Unklarheiten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
M Häufigkeit von Wörtern zählen Java Basics - Anfänger-Themen 6
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
S Java Methodenaufrufe zählen Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
H Buchstaben zählen Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
X Game of Life Nachbarn zählen Java Basics - Anfänger-Themen 20
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
S Binärbäume knoten zählen Java Basics - Anfänger-Themen 16
K Counts zählen Java Basics - Anfänger-Themen 23
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
J Zeichen im String zählen Java Basics - Anfänger-Themen 3
G Binärer Suchbaum Knoten zählen Java Basics - Anfänger-Themen 1
N Zeichen in einem Textfeld zählen und hinterlegen Java Basics - Anfänger-Themen 6
E Knoten eines Baumes unter Bedinung zählen Java Basics - Anfänger-Themen 2
T x Schritte zählen Java Basics - Anfänger-Themen 18
P Schlüsselworte Zählen und Zuweisen von eingelesenen Zahlen Java Basics - Anfänger-Themen 1
A In einem String alle Eigennamen zählen Java Basics - Anfänger-Themen 6
L Baum Knoten zählen Java Basics - Anfänger-Themen 6
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
S Zählen der Zeiger auf Objekte Java Basics - Anfänger-Themen 35
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
B Array - die Häufigkeit der Zahl zählen Java Basics - Anfänger-Themen 9
L Vorherige Objekte zählen und ausgeben Java Basics - Anfänger-Themen 11
L Diphthonge zählen... Java Basics - Anfänger-Themen 5
O ELOPS Zählen Java Basics - Anfänger-Themen 1
S Rekursives Zählen einer Zahl Java Basics - Anfänger-Themen 8
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
K alle Vorkommen einer bestimmten Ziffer in einer Zahl zählen Java Basics - Anfänger-Themen 2
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
O Großbuchstaben im Satz zählen Java Basics - Anfänger-Themen 6
S zahl hoch und runter zählen per button Java Basics - Anfänger-Themen 25
Y for-Schleife zählen Java Basics - Anfänger-Themen 6
K Probleme mit Sortieren und dem Zählen Java Basics - Anfänger-Themen 13
S Vererbung Objekte von Ober - und Unterklassen zählen Java Basics - Anfänger-Themen 3
F SubString in String zählen Java Basics - Anfänger-Themen 3
C Im Array zählen und verändern Java Basics - Anfänger-Themen 5
O Zählen der while-Scheife Java Basics - Anfänger-Themen 3
P bytes aus einem InputStream zählen Java Basics - Anfänger-Themen 2
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
G Erste Schritte Einen Array absuchen und Buchstaben zählen Java Basics - Anfänger-Themen 17
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
D Groß/KleinBuchstaben zählen Java Basics - Anfänger-Themen 21
D Buchstabe zählen/mappen Java Basics - Anfänger-Themen 3
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
M Hilfe bei Zählen von Farben? Java Basics - Anfänger-Themen 7
R Input/Output Tastenschläge einer Taste zählen Java Basics - Anfänger-Themen 14
J Schleifendurchläufe zählen Java Basics - Anfänger-Themen 4
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
E Methoden Methodenaufrufe zählen Java Basics - Anfänger-Themen 11
T Leerzeichen zählen mit Rekursion Java Basics - Anfänger-Themen 17
H Programm zum Zählen von Zeichen Java Basics - Anfänger-Themen 5
K Kommandozeile zählen Java Basics - Anfänger-Themen 5
J Bits zusammen zählen Java Basics - Anfänger-Themen 4
P Hashtabelle-Häufigkeit von String zählen Java Basics - Anfänger-Themen 2
J Array; Vorkommen zählen Java Basics - Anfänger-Themen 10
T durchlaufene while-Schleifen zählen Java Basics - Anfänger-Themen 3
P Replace zählen Java Basics - Anfänger-Themen 4
A Methoden Gedanken Anstöße zur Realisierung zweier Ideen (Grafisch Sekunden zählen und Frameaufteilung) Java Basics - Anfänger-Themen 18
E Zeichen von Kommandozeilenparameter zählen Java Basics - Anfänger-Themen 6
L Objekte zählen mehrerer Unterklassen Java Basics - Anfänger-Themen 3
J Buchstaben aus String einzeln Zählen Java Basics - Anfänger-Themen 12
J Enum zählen Java Basics - Anfänger-Themen 8
M Automatisch hoch zählen Java Basics - Anfänger-Themen 8
S Zählen Java Basics - Anfänger-Themen 9
V Arraylist: Zählen welcher String am Häufigsten vorkommt Java Basics - Anfänger-Themen 5
A Erste Schritte Datei einlesen und Buchstaben zählen Java Basics - Anfänger-Themen 13
M Von File lesen Buchstaben lesen und zählen - scheitert an der Eingabe Java Basics - Anfänger-Themen 4
B Zählen bestimmter Zeilen einer .txt Java Basics - Anfänger-Themen 7
A Satzeingabe - Vokale zählen Java Basics - Anfänger-Themen 5
G Gleiche Elemente in Feld zählen Java Basics - Anfänger-Themen 13
B Input/Output Wörter zählen & sortieren Java Basics - Anfänger-Themen 9
S Buchstaben/Wörter im String zählen Java Basics - Anfänger-Themen 6
K apache poi - Spalten zählen Java Basics - Anfänger-Themen 4
T Methodenaufrufe zählen Java Basics - Anfänger-Themen 24
L Array Sequent Zählen Java Basics - Anfänger-Themen 8
N Bestimmte Zeichen aus Strings zählen Java Basics - Anfänger-Themen 11
C Boolean Wahrheitswert zählen Java Basics - Anfänger-Themen 15
C Vorkommen eines Zeichens zählen Java Basics - Anfänger-Themen 4
D Game of Life - Nachbarn zählen Java Basics - Anfänger-Themen 8
J Buchstaben zählen Java Basics - Anfänger-Themen 17
R buchstaben zählen Java Basics - Anfänger-Themen 8
D Zählen von Umlauten in einem String Java Basics - Anfänger-Themen 4
E Array Inhalte zählen Java Basics - Anfänger-Themen 6
B Strings zählen Java Basics - Anfänger-Themen 15
Z Zeichen Zählen Java Basics - Anfänger-Themen 3
B Files aus Verzeichnis zählen Java Basics - Anfänger-Themen 9
J Wörter in einem string zählen und die anzahl zurückgeben Java Basics - Anfänger-Themen 4
I Zeichen zählen ohne Leerzeichen Java Basics - Anfänger-Themen 3
M Blätter eines Baumes zählen Java Basics - Anfänger-Themen 2
D Spiel des Lebens Nachbarn zählen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben