# Bruch Rechner



## Freax07 (28. Jan 2011)

Hallo 

sollen für den Informatik Unterricht einen Bruch Rechner programmieren, in dem wir eine Klasse Bruch schreiben und diese dann in die GUI implementieren.
Nun habe ich das Problem, dass ich nicht weiter weiß 
Hatten im Unterricht gesagt, dass man die Datei nur im selben Verzeichnis abspeichern soll und dann geht das... klappt aber bei mir irgendwie nicht.
Wäre nett wenn jemand mir helfen könnte


----------



## XHelp (28. Jan 2011)

Welche Art von Hilfe erwartest du? Beistand? Den hast du bestimmt. Aber falls du auf eine konkrete Hilfestellung hoffst, dann solltest du konkrete Fragen stellen.
Insebondere: was für Dateien?


----------



## Freax07 (28. Jan 2011)

ja das Problem hat sich jetzt erledigt.
aber jetzt erkennt der eine Methode irgenwie nicht

```
public void jb1_ActionPerformed(ActionEvent evt) {
    int xz= Integer.parseInt(jtf1.getText());
    int xn= Integer.parseInt(jtf2.getText());
    int yz= Integer.parseInt(jtf3.getText());
    int yn= Integer.parseInt(jtf4.getText());
    Bruch x= new Bruch(xz, xn);
    Bruch y= new Bruch(yz, yn);
    Bruch erg;
    erg= x.plus(y);

  }
```

erg= x.plus(y) versteht der nicht, aber wie soll das sonst gehen?


----------



## SlaterB (28. Jan 2011)

ansonsten gehts korrekt

und du bist wirklich der Meinung, dass dir ohne Angabe der Fehlermeldung, ohne Informationen über die Bruch-Klasse (z.B. ob es überhaupt eine Methode plus gibt) geholfen werden kann?
ein paar Minuten mehr darfst du schon in deine Posts investieren


----------



## Freax07 (28. Jan 2011)

Man muss ja nicht direkt unfreundlich werden.
Fehlermeldung:


```
Bruchrechner.java:118:16: incompatible types
found   : void
required: Bruch
    erg= x.plus(y);
               ^
1 error
```

und natürlich gibt es einen Methode Plus in der Klasse Bruch, sonst wär das ja alles Schwachsinn.


----------



## XHelp (28. Jan 2011)

Eine 
	
	
	
	





```
VersteheIchNichtException
```
 oder ähnliches ist mir noch nie untergekommen. Es gilt weiterhin: beschreib doch mal dein Problem so, dass man damit etwas anfangen kann. Compiler-Meldungen, Konsolenausgaben, Screenshots, WasAuchImmer...


----------



## Freax07 (28. Jan 2011)

Was soll ich da groß beschreiben, klappt halt einfach nicht.
Der Lehrer hat uns gesagt so soll es gehen und jetzt gehts ja nicht.


----------



## XHelp (28. Jan 2011)

Dann ist das anscheinend eine void-Methode, die nun mal keine Rückgabe hat.


----------



## Freax07 (28. Jan 2011)

Das ist mir auch aufgefallen -.-
Ich dachte jemand weiß, was ich stattdessen tuen soll.


----------



## Sonecc (28. Jan 2011)

Jetzt nochmal ganz genau:

OHNE QUELLCODE DER KLASSE BRUCH WIRD DIR NIEMAND ETWAS SAGEN KÖNNEN!!!!!!


----------



## Freax07 (28. Jan 2011)

```
class Bruch
{
  private int zaehler;
  private int nenner;

  public Bruch(int z, int n)
  {
  this.zaehler=z;
  this.nenner=n;
  }
  public int getZaehler()
  {
    return this.zaehler;
  }

  public int getNenner()
  {
    return this.nenner;
  }
  public void setZaehler(int z)
  {
    this.zaehler=z;
  }
  public void setNenner(int n)
  {
    this.nenner=n;
  }
  public void plus(Bruch b)
  {
  Bruch erg= new Bruch(this.getZaehler()*b.getNenner()+this.getNenner()*b.getZaehler(),this.getNenner()*b.getNenner());

  }
  public void minus(Bruch b)
  {
  Bruch erg= new Bruch(this.getZaehler()*b.getNenner()-this.getNenner()*b.getZaehler(),this.getNenner()*b.getNenner());

  }
  public void mal(Bruch b)
  {
  Bruch erg= new Bruch(this.getZaehler()*b.getZaehler(),this.getNenner()*b.getNenner());

  }
  public void geteilt(Bruch b)
  {
  Bruch erg= new Bruch(this.getZaehler()*b.getNenner(),this.getNenner()*b.getZaehler());

  }
 }
```

BITTESCHÖN!!!


----------



## XHelp (28. Jan 2011)

Es könnte nicht schaden nach der Rechnung etwas wiederzugeben... wie zum Beispiel das Ergebnis der Rechnung.


----------



## turing (28. Jan 2011)

```
public Bruch plus(Bruch b) {
  Bruch erg= new Bruch(this.getZaehler()*b.getNenner()+this.getNenner()*b.getZaehler(),this.getNenner()*b.getNenner());
  return erg;
}
```

... und entsprechend für die anderen Methoden.


----------



## Freax07 (28. Jan 2011)

Das hatte ich vorher auch so, aber dann sagt mir der Compiler:


```
Bruch.java:31:11: cannot return a value from method whose result type is void
   return erg;
          ^
```

Deswegen hatte ich probiert das ohne Return zu machen, ging aber auch nicht und hatte jetzt einfach vergessen das wieder dazu zu tun.


----------



## turing (28. Jan 2011)

Statt void steht bei mir ja auch Bruch in der ersten zeile der Methode.


----------



## Freax07 (28. Jan 2011)

Ah ok Danke 
jetzt startet das Programm auch 
muss ich nur noch Ergebnis anzeigen.


----------



## Sonecc (28. Jan 2011)

Lösung ist dir in den beiden oberen Beiträgen mitgeteilt worden.
Und nochmal für die Zukunft:

Wenn du hier Hilfe haben möchtest, dann solltest du den Leuten dabei helfen dir zu helfen.
Solche Fragestellungen wie in diesem Thema (die eindeutig zeigen, dass du nicht mal das Sticky gelesen hast) helfen weder dir, noch denen die dir helfen möchten. Wenn man dich dann darauf hinweist, nicht patzig reagieren, sondern das geforderte liefern. Man will dir nichts böses, im Gegenteil, man will dir helfen, sonst wären die Fragen nach weiteren Infos nicht gekommen.

Das ganze ist übrigens nichts, was nur in diesem Forum gelte sollte, sondern du solltest das auch im richtigen Leben beherzigen. Andernfalls wird die Zeit kommen, in der dir niemand mehr freiwillig helfen wird.


----------



## Freax07 (28. Jan 2011)

Ok merk ich mir


----------



## XHelp (28. Jan 2011)

Integer (Java Platform SE 6)


----------

