Bruchrechnen

Status
Nicht offen für weitere Antworten.

fR4GGy

Neues Mitglied
Hi ich habe eine Frage könnte mir jemand
den code für ein java progie geben das bruch rechnet ...
und auch dabei kürzt ... bitte bitte

es reicht auhc nur der teil zum kürzen ... da der rest schon funktioniert ....


danke im voraus
 

bummerland

Top Contributor
berechne den grössten gemeinsamen teiler und dividiere deine zähler und nenner durch diesen.
das sollte funktionieren oder?
 
F

fR4GGyauthor

Gast
ja gena .. aber wie soll ich das in eine code schrieben pls hilft mir
 

Nobody

Top Contributor
du nimmst eine zählschleife und fängst an durchzuzählen. jedesmal, nimmst du den modulo und überprüfst ob dieser wert == 0 ist
 

Amberstar

Mitglied
Hier habe ich kurz mal verfasst, hoffe es hilft

Code:
class Bruch
{
	private	int zaehler;
	private	int nenner;
			
/************************** Konstruktor******************************************************/			
void bruch(int z, int n)	{ //Konstruktor
	zaehler = z;
	if (n <= 0)
	{
		System.out.println("Nenner mit 0 ist nicht erlaubt!");
		System.out.println("Nenner wird auf 1 gesetzt.");
		nenner = 1;
	}
	else
	{
		nenner = n;
	}						} //Ende Konstruktor
/************************** Addition von zwei Brüchen****************************************/							
public Bruch addition(Bruch bruch2)		{
		Bruch ergebnis = new Bruch();
		ergebnis.zaehler = zaehler * bruch2.nenner + bruch2.zaehler * nenner;
		ergebnis.nenner = nenner * bruch2.nenner;
			return ergebnis.kuerzen();						
										} //Ende addition von zwei Brüchen

/************************** Subtraktion von zwei Brüchen*************************************/
public Bruch subtraktion(Bruch bruch2)	{
		Bruch ergebnis = new Bruch();
		ergebnis.zaehler = zaehler * bruch2.nenner - bruch2.zaehler * nenner;
		ergebnis.nenner = nenner * bruch2.nenner;
			return ergebnis.kuerzen();	
										} //Ende subtraktion von zwei Brüchen
										
/************************** Multiplikation von zwei Brüchen***********************************/
public Bruch multiplikation(Bruch bruch2)	{
		Bruch ergebnis = new Bruch();
		ergebnis.zaehler = zaehler * bruch2.zaehler;
		ergebnis.nenner = nenner * bruch2.nenner;
			return ergebnis.kuerzen();	
											} //Ende multiplikation von zwei Brüchen
											
/************************** Division von zwei Brüchen***********************************/		
public Bruch division(Bruch bruch2)	{
		Bruch ergebnis = new Bruch();
		ergebnis.zaehler = zaehler * bruch2.nenner;
		ergebnis.nenner = nenner * bruch2.zaehler;
			return ergebnis.kuerzen();
									}
/************************** Ausgabe des Ergebnisses***********************************/											
public String toString()			{
		String Value = new String();
		double dDezi = (zaehler / nenner);
		Value = zaehler + "/" +nenner + " als Dezimalzahl " + dDezi ;
			return Value; 
									}
/************************** Ausgabe des gekürzten Bruches***********************************/									
private Bruch kuerzen()
	{
	int iGrößer,iKleiner,iErgebnis = 0;
	boolean bStart = true;
	
	Bruch ergebniss = new Bruch();

	iGrößer = (nenner < zaehler ? zaehler : nenner);
	if ( iGrößer == nenner)
	{
		iKleiner = zaehler;
	}
	else
	{
		iKleiner = nenner;
	}
	while (iErgebnis != iKleiner)
	{
		if (!bStart)
		{
			if (iKleiner < iErgebnis)
			{
				iGrößer = iErgebnis;
			}
			else
			{
				iGrößer = iKleiner;
				iKleiner = iErgebnis;
			}
		}
		else
		{
			bStart = false; 
		}
		iErgebnis = iGrößer - iKleiner;
	}
	
	ergebniss.zaehler = zaehler / iErgebnis;
	ergebniss.nenner = nenner / iErgebnis;		
	
	return ergebniss;	
}
/************************** Anfang Main-Methode***********************************************/

	public static void main(String[] args) { 
		Bruch bruch1 = new Bruch();
		Bruch bruch2 = new Bruch();
		bruch1.bruch(3,0);
		bruch2.bruch(3,6);
		System.out.println(bruch1.multiplikation(bruch2));
	
											}
/************************** Ende Main-Methode**********************************************/											
}

EDIT: code tags eingefügt
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Bruchrechnen.komisches Problem Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben