Durch Programmierung.Wie kann ich einen Bruch in gemischter Schreibweiser ausgeben?
private int gemischt()
{
int z = zähler;
int n = nenner;
int ganzezahl;
int bruchzahl;
while(n!=0)
{
z/n = ganzezahl;
z%n = zahl;
}
return ganzezahl && bruchzahl/nenner;
}
aber das kann ja nicht funktionieren ...frage mich nur wieso :autsch:Code:private int gemischt() { int z = zähler; int n = nenner; int ganzezahl; int bruchzahl; while(n!=0) { z/n = ganzezahl; z%n = zahl; } return ganzezahl && bruchzahl/nenner; }
private int gemischt()
{
int z = zähler; // was ist hier 'zähler' ?? (besser: zaehler!!)
int n = nenner; // was ist hier 'nenner' ??
int ganzezahl = 0; // tunlichst immer initialiseren
int bruchzahl = 0; // tunlichst immer initialiseren
while(n!=0)
{
z/n = ganzezahl; // ja wohl eher andersrum: "ganzezahl = z / n;"
z%n = zahl; // dito
}
// das kann so nicht werden ...
// (a) machst Du hier eine bool'schen Vergleich (&&) !!
// (b) zum anderen kannst Du keinen Bruch so als integer darstellen
// dies würde höchstens als String gehen (siehe vorheriger Post) !!
return ganzezahl && bruchzahl/nenner;
}
public Bruch gemischt() {
int z = zähler;
int n = nenner;
int ganzezahl = z/n;
int bruchzahl = z%n;
{return new Bruch(ganzezahl, bruchzahl);}
}
class MischAction implements ActionListener {
// Diese Methode wird aufgerufen, wenn man auf den Misch-Button klickt //
@Override
public void actionPerformed(ActionEvent e) {
Bruch einBruch = new Bruch (Integer.parseInt(ergebnis1.getText()), Integer.parseInt(ergebnis2.getText()));
Bruch gemischterBruch = einBruch.gemischt();
text1.setText(String.valueOf(gemischterBruch.zähler));
text2.setText(String.valueOf(gemischterBruch.nenner));
text3.setText(String.valueOf(einBruch.nenner));
}
}
public int getGanzzahligenTeil() { return zähler/nenner; }
public int getGemischtenZähler() { return zähler%nenner; }
//eigentlich überflüssig
public int getGemischtenNenner() { return nenner; }
Hier nun meine Methode:
Java:public Bruch gemischt() { int z = zähler; int n = nenner; int ganzezahl = z/n; int bruchzahl = z%n; {return new Bruch(ganzezahl, bruchzahl);} }
public Bruch gemischt()
{
int z = zähler; // 'zähler' ist nicht deklariert und initialisiert (zudem bitte KEINE Umlaute!!)
int n = nenner; // 'nenner' ebenso wenig
int ganzezahl = z/n;
int bruchzahl = z%n;
// Hinweis: die geschweiften Klammern waren hier sicher überflüssig!
// Man kann sicher drüber streiten, ob es richtig ist, hier den Methodenaufruf hinzupacken!
// Ich würde es aus gründen der Les- und Wartbarkeit nicht machen, sondern so :
// Bruch myBruch = new Bruch( ganzezahl, bruchzahl );
// return myBruch;
return new Bruch( ganzezahl, bruchzahl );
}
public int getGanzzahligenTeil() {
return zähler/nenner;
}
public int getGemischtenZähler() {
return zähler%nenner;
}
public int getGemischtenNenner() {
return nenner;
}
class MischAction implements ActionListener {
// Diese Methode wird aufgerufen, wenn man auf den Misch-Button klickt //
@Override
public void actionPerformed(ActionEvent e) {
Bruch einBruch = new Bruch (Integer.parseInt(ergebnis1.getText()), Integer.parseInt(ergebnis2.getText()));
text1.setText(String.valueOf(einBruch.getGanzzahligenTeil()));
text2.setText(String.valueOf(einBruch.getGemischtenZähler()));
text3.setText(String.valueOf(einBruch.getGemischtenNenner()));
}
}