Hilfe bei einer add.methode

Hubson

Mitglied
moin,

ich soll als Aufgabe ein Bruchklasse schreiben die mehre Methoden durch vorgegebene Interfaces implementiert.

Das Gerüst hab ich soweit. Ich hänge nun an der implementierten add.methode....diese hat den vorgegebenen Rückgabetyp void, ergo gibt die Methode nach meinem Verständnis (immerhin hatten wir schon 2 Vorlesungen Programmieren) nichts zurück.....

hier mal meine Klasse zum Verständnis

Java:
package ws2012a01;

import ws2012a01.IBruch;

public class Bruch implements Comparable<Bruch>, IBruch {

	private long z;
	private long n;
	
	public Bruch(){
		this(0,1);
	}
	
	public Bruch(long z, long n) {	
		this.z = z;
		this.n = n;
	}
	public Bruch(Bruch Bruchcopy) {	
		this (Bruchcopy.z, Bruchcopy.n);
	}
	@Override
	public double asDouble() {
		
		return (double) this.z/this.n;
	}
	@Override
	public long getNenner() {
		
		return this.n;
	}
	public void setn(long n) {
		this.n = n;
	}
	@Override
	public long getZaehler() {
		
		return this.z;
	}
	public void setz(long z) {   
		this.z = z;              
	}
	@Override
	public int compareTo(Bruch o) {
		
		return 0;
	}
	@Override
	public void add(Bruch Bruch2) {
		

	}
	@Override
	public void div(Bruch Bruch2) {
		
	}
	@Override
	public void mult(Bruch arg0) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void sub(Bruch arg0) {
		// TODO Auto-generated method stub
		
	}

}

wie man sieht fehlen mir noch ein paar methoden.... jedenfalls kann ich den rückgabe typ nicht einfach auf Bruch ändern um einen Bruch für die add. zurück zu bekommen, und jetzt weiß ich nicht wie ich das anders lösen kann....???
 
Deine Klasse ist ja selbst ein Bruch und es wird dir ein Bruch übergeben: => gleichen Nenner erkennen, Zähler entsprechend erweitern und dann sowas wie [c]this.z= this.z + Bruch2.z;[/c]

BTW schreib Java Code nach den Code Convention, d.h. zumindest die Variablen klein 😉
 
Deine Klasse ist ja selbst ein Bruch und es wird dir ein Bruch übergeben: => gleichen Nenner erkennen, Zähler entsprechend erweitern und dann sowas wie [c]this.z= this.z + Bruch2.z;[/c]

BTW schreib Java Code nach den Code Convention, d.h. zumindest die Variablen klein 😉

ok, wenn ich dich richtig verstanden habe muss das in etwa so aussehen

Code:
this.z = (this.z * Bruch2.n + Bruch2.z * this.n);
this.n =  this.n * Bruch2.n;

ich erhalte jetzt den add. Zähler und den add. Nenner zurück oder denk ich grad falsch?

btw...wo halte ich mich nicht an die Richtlinien, muss man die Parameter auch Kleinschreiben?
 
btw...wo halte ich mich nicht an die Richtlinien, muss man die Parameter auch Kleinschreiben?
jepp
Java:
 public Bruch(Bruch Bruchcopy) { 
        this (Bruchcopy.z, Bruchcopy.n);
    }
außerdem schreibt man für setter-Methoden [c]setz[/c] das Z dann groß =>[c]setZ() [/c]...aber egal, sollte wirklich nur so nebenbei sein 😉


ok, wenn ich dich richtig verstanden habe muss das in etwa so aussehen

this.z = (this.z * Bruch2.n + Bruch2.z * this.n); this.n = this.n * Bruch2.n;

sorry, trinke gerade meinen ersten coffee...keine Ahnung ob das richtig ist, aber in der Programmierung gilt grundsätzlich das KISS-Prinzip (Keep It Simply Small) =>

1. suche das KGV für this.n und für Bruch2.n
2. erweitere beide Brüche entsprechend das für beide Brüche der Nenner == dem KGV ist.
3. addiere beide Brüche und weise das ergebnis dem this zu.
4. kürze den Bruch soweit wie möglich

evtl. machst du das da oben auch schon
 
jepp
Java:
 public Bruch(Bruch Bruchcopy) { 
        this (Bruchcopy.z, Bruchcopy.n);
    }
außerdem schreibt man für setter-Methoden [c]setz[/c] das Z dann groß =>[c]setZ() [/c]...aber egal, sollte wirklich nur so nebenbei sein 😉




sorry, trinke gerade meinen ersten coffee...keine Ahnung ob das richtig ist, aber in der Programmierung gilt grundsätzlich das KISS-Prinzip (Keep It Simply Small) =>

1. suche das KGV für this.n und für Bruch2.n
2. erweitere beide Brüche entsprechend das für beide Brüche der Nenner == dem KGV ist.
3. addiere beide Brüche und weise das ergebnis dem this zu.
4. kürze den Bruch soweit wie möglich

evtl. machst du das da oben auch schon

danke für die Hilfe, werde meine Code anpassen, die Richtung stimmt immerhin 🙂
 
klar, dein Code macht das ja auch , war einfach zu früh

ich würde mir halt noch eine Mehtode schreiben, die den ganzen Bruch soweit möglich kürzen kann
 

Neue Themen


Zurück
Oben