OOP Die eigene Bruchklasse

HalliHallo,
nun kommt es zu meinem ersten Beitrag bzw. zu meiner ersten Frage und ich hoffe mir kann geholfen werden. Ich habe folgendes Problem:
Wir sollen für unser Inf1-Praktikum (also bin ich Anfänger :)) an meiner Hochschule eine eigene Bruch-Klasse erstellen (wie der Titel verrät). Mit dieser soll man einen erstellten Bruch entweder mit einem anderen Bruch oder mit int z multiplizieren, dividieren, subtrahieren oder addieren können. Soweit so gut... das hab ich alles hinbekommen und müsste auch stimmen.
Jetzt möchte der Prof, dass ich eine Statische Methode konvertiere(double x) erstelle, in der ich, logischerweise, double-werte in Brüche umwandeln kann (Bsp. 123,45 soll 12345/100 oder 0.1 soll 1/10 werden). Als Lösungsansatz soll ich die split()-Methode von String benutzen.
Mein Lösungsansatz sieht wie folgt aus:

Java:
public static void konvertiere(double x){
		String[] xsplit= Double.toString(x).split("\\.");
		int n = xsplit[1].length();
		long nenner=(long) Math.pow(10, n);
		long zähler=(long) (x*nenner);
		String kon=zähler+"/"+nenner;
		
		System.out.println(kon);
		
	}

So funktioniert das ganz gut. Nur wirklich glücklich bin ich damit nicht, weil ich soll mit einem so konvertierten "double"-Bruch weiterrechnen, also wieder mult-,div-, sub- und add-Methoden schreiben, denen wieder ein double Wert übergeben wird, unter Berücksichtigung der konveritere-Methode. Und hier liegt mein Problem.

Ich hoffe die Problemstellung ist klar und es kann mir schnell geholfen werden.

Danke schonmal im vorraus :D
 
G

Gast2

Gast
Die Methode sollte vermutlich eher folgende Signatur haben:
Java:
public static Bruch konvertiere (double x)
Das heißt, dass du aus nenner und zähler (umlaute sollte man übrigens vermeiden!) eine neue Bruch Instanz erstellst und diese dann zurückgibst.
 
N

nillehammer

Gast
Wenn Du mit diesem Code hier zaehler und nenner richtig ermittelst und eine Bruch-Klasse hast, die die beiden Werte als Konstruktorparameter entgegen nimmt, dann etwa so:
Java:
public static Bruch konvertiere(double x){
        String[] xsplit= Double.toString(x).split("\\.");
        int n = xsplit[1].length();
        // Vielleicht bin ich doof, aber stimmt das?
        long nenner=(long) Math.pow(10, n);
        long zaehler=(long) (x*nenner);
        return new Bruch(zaehler, nenner);
    }
 
Zuletzt bearbeitet von einem Moderator:
Hm... Das hatte ich mir auch schon überlegt. Wie bekomme ich da ne gescheite Ausgabe auf der Konsole hin? Weil da wird nichts angezeigt.. Meine anderen Methoden sind nicht static.. Vll hat das damit was zu tun.
 
Das Problem ist meine toString-Methode ist schon überschrieben.

Java:
package bruch;

public class Bruch {

	private long zaehler;
	private long nenner;


	Bruch(long zähler, long nenner) {
		this();

		this.setZähler(zähler);
		this.setNenner(nenner);
	}

	public long getZähler() {
		return zaehler;
	}

	public void setZähler(long zähler) {
		this.zaehler = zähler;
	}

	public long getNenner() {
		return nenner;
	}

	public void setNenner(long nenner) {
		if (nenner == 0) {
			throw new BruchException("Nenner darf nicht 0 sein!");
		}
		this.nenner = nenner;
	}

	

	public static Bruch konvertiere(double x){
		String[] xsplit= Double.toString(x).split("\\.");
		int n = xsplit[1].length();
		long n1=(long) Math.pow(10, n);
		long z1=(long) (x*n1);
		
		
		return new Bruch(z1, n1);
		
	}
	
	
	@Override
	public String toString() {
		
		return "Bruch (" + this.zaehler + "/"
				+ this.nenner + ")\n";
	}
	
	
}

So sähe es im Moment aus. Den private long zaehler bzw. nenner brauch ich für die anderen schon angesprochenen Methoden wie add und sub usw... aber die lass ich mal draussen, weil ich die ja für den Fall nicht entscheidend sind. Deswegen hab ich die long in der konvertiere-Methode mal n1 und z1 genannt.
Hat jmd ne Idee?
 
Die main

Java:
public class TestBruch {

	public static void main(String[] args) {

		Bruch bruch1 = new Bruch(1, 10);
		Bruch bruch2 = new Bruch(20, 20);
		Bruch bruch3 = new Bruch(3, 30);

		int z=2;
		
		System.out.println(bruch1.add(z));
	}

}
 
N

nillehammer

Gast
Java:
System.out.println(Bruch.konvertiere(2.5));
Reicht Dir das nicht?
 
Es funktioniert :D ich weiß zwar nicht wieso, weil ich meiner Meinung nach, gestern genau das gleiche gemacht hab.

Ich möchte mich bei euch bedanken für die zahlreiche und schnelle Hilfe :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Eigene Datenstruktur um eine Menge zu speichern Allgemeine Java-Themen 3
_user_q Was brauche ich, um eine eigene "Search for updates"-Funktion einzubauen? Allgemeine Java-Themen 1
pizza_dox_9999 Wie füge ich eine "eigene" ScriptEngine dem ScriptEngineManager? Allgemeine Java-Themen 3
E Input/Output Eigene Datei mit java öffnen Allgemeine Java-Themen 9
missy72 Klassen Eigene Klasse MessageWindow ähnlich der Alert Klasse Allgemeine Java-Themen 2
J Eigene Api erstellen und dann auch verwenden - Ordnerstruktur Allgemeine Java-Themen 1
RalleYTN Eigene ScriptEngine? Allgemeine Java-Themen 14
L Eigene Dependency Injections definieren? Allgemeine Java-Themen 4
K Eigene API erstellen? Allgemeine Java-Themen 13
T Best Practice Eigene GUI programmieren | MouseMotion Detection Allgemeine Java-Themen 3
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
J eigene Java Bibliothek Allgemeine Java-Themen 2
M Output einer anderen/externen .jar in eigene JTextArea Allgemeine Java-Themen 4
B Klassen Eigene Klasse als Array benutzen Allgemeine Java-Themen 3
D Eigene/r Collection/Container Allgemeine Java-Themen 3
F Eigene .jar mit anderer .jar öffnen Allgemeine Java-Themen 7
X Eigene Annotation - mit Bedingung für ganze Klassen oder Methoden Allgemeine Java-Themen 2
H Best Practice Ideensuche: Flexibel hinzufügbare eigene Parser Allgemeine Java-Themen 6
P Eigene Exception Klasse Allgemeine Java-Themen 7
J Java - Eigene DLL importieren Allgemeine Java-Themen 25
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
S OOP Problembereichsmodell: Bestehende Framework Klasse in eigene Klassenstruktur einbinden Allgemeine Java-Themen 9
E Eigene Exception Klasse erstellen Allgemeine Java-Themen 3
S Methoden Eigene Klasse als Rückgabewert Allgemeine Java-Themen 6
S eigene regEx schreiben Allgemeine Java-Themen 4
O Collections Eigene Methodenzusicherung bei Collections als Parameter Allgemeine Java-Themen 2
M Eigene Klasse verschlüsselt in Datei speichern Allgemeine Java-Themen 13
N Geodaten für eigene Routenplanung Allgemeine Java-Themen 5
M Problem beim schreiben einer eigene generische Klasse Hashtable Allgemeine Java-Themen 11
C Eigene Sounddateien schreiben Allgemeine Java-Themen 12
M Problem beim schreiben einer eigene generische Klasse LinkedList Allgemeine Java-Themen 34
M Best Practices Exception Handling für eigene library Allgemeine Java-Themen 8
M Eigene Factory Klasse Allgemeine Java-Themen 21
M eigene Klasse durch Composition mit java.io.File erweitern Allgemeine Java-Themen 3
S eigene Update Funktion Allgemeine Java-Themen 5
H2SO3- getMethods(): eigene methoden rausfinden Allgemeine Java-Themen 4
C eine eigene Javadoc erstelen Allgemeine Java-Themen 3
Kr0e Eigene RMI Implementierung Allgemeine Java-Themen 3
S Eigene Bibliothek Allgemeine Java-Themen 2
M Eigene Dateiendung? Allgemeine Java-Themen 3
M Plugins für eigene Programme Allgemeine Java-Themen 3
S Eigene Events feuern Allgemeine Java-Themen 3
S Instanz in einer Klasse erstellen, und dem Konstruktor die eigene Klasse mitgeben Allgemeine Java-Themen 4
A Eigene Java Plugins entwickeln - wie optimal? Allgemeine Java-Themen 14
R Eigene ArrayList vom Typ Short, Integer oder Double Allgemeine Java-Themen 4
U Eigene "Dining Philosopher" Interpretation weckt Philos nie auf Allgemeine Java-Themen 2
0x7F800000 Wovon eigene Events für spezialisierte JComponents ableiten? Allgemeine Java-Themen 2
SuperSeppel13 Packete der Java Bibliothek ins eigene Prjekt integrieren Allgemeine Java-Themen 4
P Eigene Klasse kopieren die auf sich selbst refferenziert Allgemeine Java-Themen 8
G Umgebungsvariabeln auslesen (Path, Temp, oder eigene) Allgemeine Java-Themen 2
T Eigene PID ermitteln! Allgemeine Java-Themen 3
D Icon für eigene Dateiendung Allgemeine Java-Themen 7
G Eigene "Speicherverwaltung" Allgemeine Java-Themen 5
H eigene Annotations Allgemeine Java-Themen 2
S eigene Klasse die JButton extended - als Liste! Allgemeine Java-Themen 6
D Performance: ArrayList vs. Array vs. "Eigene Liste&quot Allgemeine Java-Themen 8
A Eigene Wrapper-Klassen Allgemeine Java-Themen 2
J Kann eigene Klasse nicht ermitteln Allgemeine Java-Themen 4
M Wann verwendet man PropertyChangedEvents, wann eigene? Allgemeine Java-Themen 3
J OpenOffice.org Events in eigene Anwendung umleiten Allgemeine Java-Themen 4
U eigene Datenstruktur ArrayList<String> nach Object [][ Allgemeine Java-Themen 2
N Observer/Observable der JAVA-API od. eigene Implementierung Allgemeine Java-Themen 2
B eigene Klassen verkaufen Allgemeine Java-Themen 2
W eigene event-Klasse, event posten Allgemeine Java-Themen 2
reibi Eigene exception mit feld "serialVersionUID" Allgemeine Java-Themen 3
M Eigene .jar in anderes Programm importieren[eclipse] Allgemeine Java-Themen 6
T Eigene Libary Allgemeine Java-Themen 6
E Eigene Exception Allgemeine Java-Themen 11
Q Bibliotheken mit ins eigene Jar aufnehmen Allgemeine Java-Themen 4
M Eigene Exception Klasse Allgemeine Java-Themen 4
M eigene Objekte vergleichen Allgemeine Java-Themen 6
K log4j - eigene Info-Ausgaben Allgemeine Java-Themen 5
G Performance JDOM - DOM - eigene HashMap (SAX) Allgemeine Java-Themen 2
G JWindow verschieben bei mousedragged auf eigene titelleiste Allgemeine Java-Themen 3
N Methoden in eigene Dateien auslagern? Allgemeine Java-Themen 10
B Eigene Datentypen Allgemeine Java-Themen 5
G Brauche hilfe bei JMF: Wie eigene Streaming Data Source! Allgemeine Java-Themen 4
G eigene klassen die ein jar verwenden als neues jar erstellen Allgemeine Java-Themen 4
O Externe Jars in eigene JAr packen in Eclipse Allgemeine Java-Themen 5
R Updateprozedur ü. Internet fürs eigene Programm? Allgemeine Java-Themen 24
G eigene uhrzeit in einer java applikation führen Allgemeine Java-Themen 19
R Eigene Konfigurationsdatei für größere Projekte. Allgemeine Java-Themen 4
J Eigene Callback Methode? Allgemeine Java-Themen 3
S eigene evetns erstellen Allgemeine Java-Themen 5
K eigene GUI Komponente wird nicht angezeigt Allgemeine Java-Themen 3
D Eigene Classes aus anderen .java-Dateien Allgemeine Java-Themen 2
G Eigene PrintService Implementierung. Allgemeine Java-Themen 5
C Die Konsole ins eigene Programm einbauen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben