Created
March 27, 2012 07:39
-
-
Save nitschmann/2213746 to your computer and use it in GitHub Desktop.
A class for easy fractions in Java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* @author Florian Nitschmann | |
* @version 1.0 | |
*/ | |
public class fractionArithmetic { | |
/* | |
* Variablen für den Bruch (Zähler und Nenner) | |
* | |
* @access public | |
*/ | |
public int zaehler; | |
public int nenner; | |
/* | |
* Initialisierungsmethode für einen neuen Bruch | |
* | |
* @access public | |
* @param int zaehler - Der Zähler des Bruchs | |
* @param int nenner - Der Nenner des Bruchs | |
*/ | |
public fractionArithmetic(int zaehler, int nenner) { | |
this.zaehler = zaehler; | |
this.nenner = nenner; | |
} | |
//-----Rechenoperationen | |
/* | |
* Addition - Zwei Brüche sollen addiert werden | |
* | |
* @access public | |
* @param fractionArithmetic a - Der Bruch welcher addiert werden soll | |
* @return fractionArithmetic | |
*/ | |
public fractionArithmetic addition(fractionArithmetic a){ | |
int newNenner = this.kgv(this.nenner, a.nenner); | |
int newZaehler1 = (newNenner/this.nenner)*this.zaehler; | |
int newZaehler2 = (newNenner/a.nenner)*a.zaehler; | |
int gZaehler = newZaehler1+newZaehler2; | |
return new fractionArithmetic(gZaehler, newNenner); | |
} | |
/* | |
* Subtraktion - Von einem Bruch soll ein andere abgezogen werden | |
* | |
* @access public | |
* @param fractionArithmetic a - Der abzuziehende Bruch | |
* @return fractionArithmetic | |
*/ | |
public fractionArithmetic subtraktion(fractionArithmetic a){ | |
int newNenner = this.kgv(this.nenner, a.nenner); | |
int newZaehler1 = (newNenner/this.nenner)*this.zaehler; | |
int newZaehler2 = (newNenner/a.nenner)*a.zaehler; | |
int gZaehler = newZaehler1-newZaehler2; | |
return new fractionArithmetic(gZaehler, newNenner); | |
} | |
/* | |
* Multiplikation - Zwei Brüche sollen miteinander multipliziert werden | |
* | |
* @access public | |
* @param fractionArithmetic a | |
* @return fractionArithmetic | |
*/ | |
public fractionArithmetic multiplikation(fractionArithmetic a){ | |
//Bruch variablen | |
int zaehler1 = this.zaehler; | |
int nenner1 = this.nenner; | |
int zaehler2 = a.zaehler; | |
int nenner2 = a.nenner; | |
//Neuen Bruch ausgeben | |
return new fractionArithmetic((zaehler1*zaehler2), (nenner1*nenner2)); | |
} | |
/* | |
* Division - Bruch soll durch anderen dividiert werden | |
* | |
* @access public | |
* @param fractionArithmetic a - Der abzuziehende Bruch | |
* @return fractionArithmetic | |
*/ | |
public fractionArithmetic division(fractionArithmetic a){ | |
//Bruch Variablen: | |
int zaehler1 = this.zaehler; | |
int nenner1 = this.nenner; | |
int zaehler2 = a.zaehler; | |
int nenner2 = a.nenner; | |
//Neuen Bruch berechnen: | |
return new fractionArithmetic((zaehler1*nenner2), (nenner1*zaehler2)); | |
} | |
//-----Bruchoperationen | |
/* | |
* toString - Wandelt einen fractionArithmetic in einen String um | |
* | |
* @access public | |
* @return String | |
*/ | |
public String toString(){ | |
String result = String.valueOf(this.zaehler) + "/" + String.valueOf(this.nenner); | |
return result; | |
} | |
/* | |
* kgv - Berechnet den kleinsten gemeinsamen Vielfachen zweier Zahlen | |
* | |
* @access private | |
* @param int zahl1 - Die erste Zahl | |
* @parma int zahl2 - Die zweite Zahl | |
* @return int | |
*/ | |
private int kgv(int zahl1, int zahl2){ | |
int h1 = zahl1; | |
int h2 = zahl2; | |
while (zahl1%zahl2 != 0){ | |
if (zahl1 < zahl2) zahl1 = zahl1 + h1; | |
else zahl2 = zahl2 + h2; | |
} | |
return zahl1; | |
} | |
//---End | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment