Programmieren eines Bruchrechners

Status
Nicht offen für weitere Antworten.

Aliena

Neues Mitglied
Hey,

Im Informatik-Unterricht müssen wir einen Bruchrechner realisieren. Da wir aber bis jetzt nur Grafische-Programme erstellt haben, bin ich mit der Aufgabe etwas überfordert. Zudem kommt, dass der Lehrer nicht gerade die große Leuchte ist... : ). Deshalb frage ich hier nach ein paar Tipps für dieses Programm. Vielleicht sollte ich erwähnen das wir mit dem Java-Editor programieren.

Das UML-Klassendiagramm lautet:

Bruch
----------
Zähler
Nenner
----------
! init
! setzeZähler
! setzeNenner
? zähler
? nenner
! KürzeUm
! erweitereUm
! kürzeVoll
? dezimalwert
! kehrBruch
! gibFrei



Klasse Bruch

Klassenbeschreibung:
Sum

Attribute
zZaehler, zNenner : Zahl

Dienste
Auftrag init(pZaehler, pNenner : GanzeZahl)
anfang
zZaehler:= pZaehler
zNenner := pNenner
ende

Auftrag setzeZähler(pZaehler : GanzeZahl)
Anfang
zZaehler := pZaehler
ende

Auftrag setzeNenner(pNenner : GanzeZahl)
Anfang
zNenner := pNenner
ende

Anfrage zaehler : GanzeZahl
Anfang
Ergebnis := zZaehler
ende

Anfrage nenner : GanzeZahl
Anfang
Ergebnis := zNenner
ende

Auftrag kuerzeUm(pZahl : GanzeZahl)
Anfang
zZaehler := zZaehler / pZahl
zNenner := zNenner / pZahl
// Es handelt sich hier jeweils um ganzzahlige Divisionen
ende

Auftrag erweitereUm(pZahl : ganzeZahl)
Anfang
zZaehler := zZaehler * pZahl
zNenner := zNenner * pZahl
ende

Auftrag kuerzeVoll
Anfang
selbst.kuerzeUm(selbst.ggT(zZaehler ,zNenner))
ende

Anfrage dezimalwert : Zahl
Anfang
Ergebnis:= zZaehler/zNenner
ende

Auftrag kehrbruch
lTausch : GanzeZahl
Anfang
lTausch := zZaehler
zZaehler := zNenner
zNenner := lTausch
ende

Auftrag gibFrei
Anfang
ende

-------------------------------------------------------------------------------

So ich weiß nicht ob euch das weiterhilft.. Für mich hört sich das, bzw ließt sich das wie chinesich :/
Hoffe auf Hilfe

MFG
Aliena
 

hdi

Top Contributor
Oh oh... Ich befürchte dein Thread wird sehr schnell in den "Wir machen keine Hausaufgaben" Pool geworfen,
in den niemals jemand reinschaut ;)

Wenn du das verhindern willst, solltest du mit Ansätzen kommen, die du bisher versucht hast.

Einfach nur eine Angabe hier posten und sagen "Hilfe" ist tödlich! Also husch husch, schreib mal zusammen
was du kannst, und poste Code. Dazu kannst du dann konkrete Fragen stellen.

Und wenn du nicht mal eine Zeile Code schreiben kannst, dann sage wenigstens etwas genauer,
was du an der Angabe nicht verstehst.

PS: Aber schön, dass du dich dafür registiert hast :toll:
 

Aliena

Neues Mitglied
nein das will ich nicht !

Also das hab ich bis jetzt im Unterricht gemacht:

Der Bruch:

public class Bruch
{int zähler;
int nenner;

public Bruch(int z,int n)
{ nenner=n;
zähler =z;
}

public Bruch mal(Bruch a)
{return new Bruch(zähler*a.zähler,nenner*a.nenner);}

public Bruch plus(Bruch a)
{return new Bruch(zähler*a.nenner+a.zähler*nenner,nenner*a.nenner);}

public Bruch kehrwert()
{return new Bruch(nenner,zähler);}

public String toString()
{if(nenner!=1)
return new String(zähler + "/" + nenner);
else
return new String(""+zähler);
}
}


und dann den Bruchrechner :

public class Bruchrechnung
{public static void main(String [] args)
{ Bruch c=new Bruch(3,4);
System.out.println("Bruch c= " + c); //Ausgabe als String: automatische

Bruch e=new Bruch(7,8);
Bruch r;
r=c.mal(e);
System.out.println(c+" * "+e+" = "+r);
System.out.println(c+" + "+e+" = "+c.plus(e));
Bruch h=new Bruch(2,3);
Bruch i=c.plus(e).mal(h);
System.out.print("("+c+" + "+e+") * "+h+" = "+i);
}
}


Jetzt sollen wir dem aber eine Maske verpassen und dadrin liegt mein problem... Geht das überhaupt? Weil ich nicht weiß wie ich das grafisch darstellen soll.. : /
 

hdi

Top Contributor
Also erstmal: Code-Abschnitte bitte mit dem Code-Tag versehen. Es gibt beim Schreiben eines Beitrags
im Editor-Menu den Punkt "Code". Einfach den Java-Code markieren und dann da drauf klicken.
Dann kann man's leichter lesen.

Ok also du hast mit dem Programm selbst kein Problem, sondern weisst nur nicht wie du es grafisch
machen sollst. Das hängt halt jetzt davon ab, wie das aussehen soll. Du sollst wohl Brüche eingeben
und ausrechnen können.

Ich geb dir jetzt mal eine Grundfassung, rein vom Optischen her:

Code:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

/**
 * Ein JFrame ist ein Fenster :)
 */
public class BruchRechnerGUI extends JFrame {

	// Wir machen uns zwei Textfelder:
	JTextField zaehler, nenner;

	// Wir machen uns Knöpfe für die Rechen-Operationen
	JButton mal, plus, kehrwert;

	public BruchRechnerGUI() {
		// Titel des Fensters
		super("Mein Bruchrechner");

		// Textfelder werden erstellt
		zaehler = new JTextField("zaehler hier");
		nenner = new JTextField("nenner hier");

		// Wir geben ihnen eine gewisse Grösse
		zaehler.setPreferredSize(new Dimension(100, 20));
		nenner.setPreferredSize(new Dimension(100, 20));

		// Knöpfe werden erstellt
		mal = new JButton("*");
		plus = new JButton("+");
		kehrwert = new JButton("kw");

		// Wir weisen den Knöpfen die weiter unten definierten Aktionen zu
		mal.addActionListener(new MalAction());
		plus.addActionListener(new PlusAction());
		kehrwert.addActionListener(new KehrwertAction());

		// die Komponenten sollen einfach nebeneinander erscheinen
		setLayout(new FlowLayout()); // "Fluss"-Layout, also alles nebeneinander

		// wir legen die Knöpfe auf das Fenster
		add(mal);
		add(plus);
		add(kehrwert);

		// und auch die zwei TextAreas wo man was eingeben kann
		add(zaehler);
		add(nenner);

		// wir packen alles zusammen (das Fenster baut sich zusammen)
		pack();

		// Programm beendet wenn man auf das rote X oben rechts klickt
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		// zeigt das Fenster an
		setVisible(true);
	}

	class MalAction implements ActionListener {

		/* Diese Methode wird aufgerufen, wenn man auf den Mal-Button klickt */
		@Override
		public void actionPerformed(ActionEvent arg0) {

			// ???
		}
	}

	class PlusAction implements ActionListener {

		/* Diese Methode wird aufgerufen, wenn man auf den Plus-Button klickt */
		@Override
		public void actionPerformed(ActionEvent arg0) {

			// ???
		}
	}

	class KehrwertAction implements ActionListener {

		/*
		 * Diese Methode wird aufgerufen, wenn man auf den Kehrwert-Button
		 * klickt
		 */
		@Override
		public void actionPerformed(ActionEvent arg0) {

			// ???
		}
	}

	/**
	 * DEMO
	 */
	public static void main(String[] args) {
		// Diese Zeile baust du in deine schon existierende Main-Methode ein:
		new BruchRechnerGUI();
	}

}

...das kannst du kopieren und gleich starten.
Deine Aufgabe ist es jetzt, die Methoden in den ActionListenern zu schreiben.

Und zwar solltest du immer den Inhalt von den Textfeldern auslesen, dir daraus
einen Bruch erstellen (die Klasse hast du ja schon), und noch entsprechend eine Methode
darauf aufrufen (plus, mal, oder kehrwert je nachdem welcher Listener).

Den Inhalt von einem Textfeld kriegt man so:

Code:
einTextfeld.getText(); // returned einen String

Nachdem du das gemacht hast, bekommst du ja immer einen neuen Bruch. Diesen
solltest du dann anzeigen.

Analog zu getText() für Textfelder gibt es

Code:
einTextfeld.setText("Mein Text");

Versuch's einfach mal, implementier die 3 ActionListener, also ersetze die "???", und dann
starte es mal, gib nen Zähler und Nenner ein und kuck ob deine Knöpfe etwas tun.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
M BlueJ Schach Steuerung programmieren Spiele- und Multimedia-Programmierung 28
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
N Escape the Room - Spiele Apps programmieren Spiele- und Multimedia-Programmierung 14
Laaalo Tic tac toe programmieren Spiele- und Multimedia-Programmierung 4
mihe7 Wie man einfache Spiele programmieren kann Spiele- und Multimedia-Programmierung 23
M Brauche Hilfe was zu Programmieren Spiele- und Multimedia-Programmierung 4
N Minecraft Spigot-Plugin | Schusswaffe programmieren Spiele- und Multimedia-Programmierung 3
A DoodleJump programmieren: Kollisionsabfrage Spiele- und Multimedia-Programmierung 6
I Vier gewinnt programmieren, Klick-Reihenfolge Spiele- und Multimedia-Programmierung 2
B Programmieren wie der Befehl /ban in Minecraft geblockt wird aber nicht /ban mit einem Argument Spiele- und Multimedia-Programmierung 1
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
P Tennis- Spielstand- Zähler für Schule programmieren Spiele- und Multimedia-Programmierung 6
J HDMI Ausgänge mit Java programmieren? Spiele- und Multimedia-Programmierung 18
L Hörtest programmieren und implementieren Spiele- und Multimedia-Programmierung 2
E Möchte Jump and Run programmieren Spiele- und Multimedia-Programmierung 2
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
M Gesellschaftsspiel Mühle in Java programmieren Spiele- und Multimedia-Programmierung 3
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
M Logitech G15/G510 Applets programmieren Spiele- und Multimedia-Programmierung 3
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
O Rundenbasiertes strategiespiel programmieren Spiele- und Multimedia-Programmierung 2
K 2D Blockade Programmieren Spiele- und Multimedia-Programmierung 3
wolfgang63 Mit JavaFX einfaches Game programmieren Spiele- und Multimedia-Programmierung 5
J Mod Loader programmieren Spiele- und Multimedia-Programmierung 11
I Hitpoints/Lifepoints programmieren, wie? Spiele- und Multimedia-Programmierung 7
L Minecraft Minecraft Plugin programmieren (Craftbukkit 1.7.2) Problem Spiele- und Multimedia-Programmierung 4
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
wolfgang63 Einfachen Soundgenerator programmieren Spiele- und Multimedia-Programmierung 1
J UNO Programmieren Spiele- und Multimedia-Programmierung 4
F Bot Programmieren Spiele- und Multimedia-Programmierung 10
N Game GUI Programmieren Spiele- und Multimedia-Programmierung 16
1 Minecraft Minecraft Plugins programmieren Spiele- und Multimedia-Programmierung 6
T MiniCraft - selbst nach Programmieren Spiele- und Multimedia-Programmierung 25
A Klickgame ala "Harveys neue Augen" oder "Edna bricht aus" in Java programmieren... Fragen zu Kleinig Spiele- und Multimedia-Programmierung 8
S Spiel Programmieren (Kreise treffen) Spiele- und Multimedia-Programmierung 5
F wie richtig spiele programmieren ? Spiele- und Multimedia-Programmierung 19
C Hinterteil von Snake programmieren Spiele- und Multimedia-Programmierung 11
B Spiele programmieren für ein Fenster? Spiele- und Multimedia-Programmierung 14
B Kartenspiel Leben und Tod programmieren Spiele- und Multimedia-Programmierung 11
T Vier gewinnt programmieren Spiele- und Multimedia-Programmierung 9
N Stimme programmieren Spiele- und Multimedia-Programmierung 11
Sebi Mit Java Online games programmieren ? Spiele- und Multimedia-Programmierung 8
N Labyrinth programmieren/Denkhilfe Spiele- und Multimedia-Programmierung 3
data89 Spiel mit JMonkey programmieren Spiele- und Multimedia-Programmierung 6
O Programmieren von "Familienduell" Spiele- und Multimedia-Programmierung 3
A Wie JAVA Webcam Client programmieren? Spiele- und Multimedia-Programmierung 11
T vier gewinnt programmieren - aber wie Spiele- und Multimedia-Programmierung 19
N In einem Kasten springende Bälle programmieren...Hilfe Spiele- und Multimedia-Programmierung 7
B Problem beim Programmieren von 4Gewinnt Spiele- und Multimedia-Programmierung 5
K Malefiz programmieren - Frage zu den einzelnen Spielfeldern Spiele- und Multimedia-Programmierung 5
G wer möchte mit mir risiko programmieren? Spiele- und Multimedia-Programmierung 7
B Problem beim Programmieren Von Mühle Spiele- und Multimedia-Programmierung 6
N Sinus Welle programmieren! Spiele- und Multimedia-Programmierung 4
J Gesellschaftsspiele programmieren Spiele- und Multimedia-Programmierung 8
P 2D Spiel mir drehbaren Bildern (Sprites) programmieren Spiele- und Multimedia-Programmierung 10
U Ball programmieren Spiele- und Multimedia-Programmierung 26
A "Wegnehm-Spiel" programmieren, Tipps + Links? Spiele- und Multimedia-Programmierung 8
N Seltsame Exception bei Code eines Spiele-Tutorials Spiele- und Multimedia-Programmierung 6
R Ideen für die Backend-Entwicklung eines Games gesucht Spiele- und Multimedia-Programmierung 8
T Position eines Image verändern mithilfe eines Timers Spiele- und Multimedia-Programmierung 6
E Programmierung eines 2.5D Point&Click Adventures ohne Spieleengine machbar? Spiele- und Multimedia-Programmierung 14
K Click innerhalb eines 45° gekippten Rechtecks Spiele- und Multimedia-Programmierung 9
J LibGdx_3D: Klamotten eines Charakters modifizieren Spiele- und Multimedia-Programmierung 2
K Erstellen eines Fotoalbums mit Java Spiele- und Multimedia-Programmierung 8
R Fehler beim Laden eines 2D-Bildes Spiele- und Multimedia-Programmierung 3
L OpenGL TransformationMatrix eines Flugzeugs Spiele- und Multimedia-Programmierung 2
M Programmierung eines "Fantasy Rollenspiels" Spiele- und Multimedia-Programmierung 5
E Laufanimation eines Sprites Spiele- und Multimedia-Programmierung 6
Finalspace Entwicklung eines Jump & Run Spiels Video-Tutorial Spiele- und Multimedia-Programmierung 12
T Hintergrundmusik eines Spiels mit Hilfe von JLayer Spiele- und Multimedia-Programmierung 12
M Cylinder anhand eines Vektors ausrichten (Java3d) Spiele- und Multimedia-Programmierung 0
M bewegen eines Objektes Spiele- und Multimedia-Programmierung 2
U Hilfe bei Implementierung eines PointSounds in Java3D Spiele- und Multimedia-Programmierung 1
gamebreiti Index eines Elements einer ArrayList abfragen Spiele- und Multimedia-Programmierung 1
X "Rebuffen" - Messen der Zeit eines Timers Spiele- und Multimedia-Programmierung 3
S Design eines Schachspiels Spiele- und Multimedia-Programmierung 3
S Mausklicks innerhalb eines JFrames/SWTBrowser ohne richtige Maus simulieren Spiele- und Multimedia-Programmierung 6
F Programmierung eines Bots Spiele- und Multimedia-Programmierung 23
A Wann ist ein Punkt inerhalb eines Polygons? Spiele- und Multimedia-Programmierung 2
F LWJGL Problem mit Erstellen eines Objekts und der Kamera Spiele- und Multimedia-Programmierung 5
R Drehen eines Bildes relativ zur Mauszeigerposition Spiele- und Multimedia-Programmierung 2
M Pattern zur Auswahl eines Objektes anhand vieler Kriterien Spiele- und Multimedia-Programmierung 2
H Skalierung eines Polygons ohne das es verschoben wird Spiele- und Multimedia-Programmierung 3
R Triangulation eines komplexen Polygons Spiele- und Multimedia-Programmierung 4
L Lwjgl Darstellung eines Kreises im Raum Spiele- und Multimedia-Programmierung 3
M Pixel eines BufferedImage bearbeiten (Performance) Spiele- und Multimedia-Programmierung 23
G Rotieren eines Objekts (2D) Spiele- und Multimedia-Programmierung 8
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
S Umfang eines Polygons erzeugen Spiele- und Multimedia-Programmierung 1
D Highscoreliste eines Applets funktioniert online nicht Spiele- und Multimedia-Programmierung 4
W CannotRealizeException (jmf) beim abspielen eines liedes Spiele- und Multimedia-Programmierung 3
F Meine Aufgabe: Client-Server am Beispiel einer Implementation eines Tic-Tac-Toe Netzwerkspieles Spiele- und Multimedia-Programmierung 7
D Koordinaten eines 2D Sprites Spiele- und Multimedia-Programmierung 2
B Teile eines Bildes laden - BitBlk und drawImage Spiele- und Multimedia-Programmierung 3
S Interpolation eines Bildes Spiele- und Multimedia-Programmierung 6
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
N Bildposition innerhalb eines anderen Bildes ermitteln Spiele- und Multimedia-Programmierung 2
G rotation eines würfels Spiele- und Multimedia-Programmierung 9
G Bewegung eines Grafikobjektes Spiele- und Multimedia-Programmierung 7

Ähnliche Java Themen

Neue Themen


Oben