Es soll ein Taschenrechner Programmiert werden die Oberfläche wird uns bereit gestellt es müssen nur noch folgende Methoden erstellt werden.
1)Rational() Default Ctor gibt dem Bruche den Wert 0
2)Rational(int n) zähler = n Nenner = 1
3)Rational (int n , int d ) Zähler= n Nenner=d der Nenner muss immer echt positiv sein wenn 0 dann 0 dann throw new ......
4)Rational(Rational r) Copy-Ctor
5)Ist gegeben
6)int getNum() liefert den Zähler
7)int getDenom() liefert den Nenner immer echt positiv
8)Rational invert() Kehrwert des Bruches
9)Rational add (Rational r) Neuer Bruch der Summer auf Zielobjekt und Bruch r erhält
10)Rational sub(Rational r) Wie add, liefert Differenz
11)Rational mult(Rational r)Wie add, liefert Produkt
12)Rational mult(Rational r)Wie add, liefert Quotienten
13)RationalKürtzt und liefert mit return this zurück
Hab folgendes zusammen gecoded
Habe schon ein paar Fehler gefunden und verbessert, aber der Taschenrechner hat z.B. mit Multiplikation seine Probleme....
Als Beispiel bei 23/8 x 24/7 sollte er 69/7 anzeigen stattdessen bekomme ich 23/2 raus.
1)Rational() Default Ctor gibt dem Bruche den Wert 0
2)Rational(int n) zähler = n Nenner = 1
3)Rational (int n , int d ) Zähler= n Nenner=d der Nenner muss immer echt positiv sein wenn 0 dann 0 dann throw new ......
4)Rational(Rational r) Copy-Ctor
5)Ist gegeben
6)int getNum() liefert den Zähler
7)int getDenom() liefert den Nenner immer echt positiv
8)Rational invert() Kehrwert des Bruches
9)Rational add (Rational r) Neuer Bruch der Summer auf Zielobjekt und Bruch r erhält
10)Rational sub(Rational r) Wie add, liefert Differenz
11)Rational mult(Rational r)Wie add, liefert Produkt
12)Rational mult(Rational r)Wie add, liefert Quotienten
13)RationalKürtzt und liefert mit return this zurück
Hab folgendes zusammen gecoded
Java:
class Rational {
int num;
int denom;
//1)
Rational() {
num=0;
denom=1;
}
//2)
Rational(int n) {
num=n;
denom=1;
}
//3)
Rational(int n, int d) {
if (d>0){
num=n;
denom=d;}
else
if(d<0){
num=n*(-1);
denom=d*(-1);}
else
throw new ArithmeticException();
}
//4)
Rational (Rational r){
num=r.num;
denom=r.denom;
}
//5)
String text() {
if (getDenom() == 1)
return "" + getNum();
return getNum() + "/" + getDenom();
}
//6)
int getNum(){
return num;
}
//7)
int getDenom(){
return denom;
}
//8
Rational invert(){
Rational result= new Rational (denom ,num);
return result;
}
//9 Kürzen
Rational add (Rational r) {
Rational result1 = new Rational ( num * r.denom + denom*r.num,denom*r.denom);
return result1;
}
//10)
Rational sub (Rational r) {
Rational result1 = new Rational ( num * r.denom - denom*r.num,denom*r.denom);
return result1;
}
//11)
Rational mult (Rational r) {
Rational result1 = new Rational ( num*r.num, denom*r.denom);
return result1;
}
//12)
Rational div (Rational r) {
Rational result1 = new Rational ( num * r.denom,denom*r.num);
return result1;
}
//13
Rational reduce () {
if(num==0)
return this;
int num1=num;
int denom1=denom;
int r=num1%denom1;
while(r!=0){
denom1=num1;
num1=r;
r=denom1%num1;}
num/=num1>0?num1:-1*num1;
denom/=num1>0?num1:-1*num1;
return this;
}
}
Habe schon ein paar Fehler gefunden und verbessert, aber der Taschenrechner hat z.B. mit Multiplikation seine Probleme....
Als Beispiel bei 23/8 x 24/7 sollte er 69/7 anzeigen stattdessen bekomme ich 23/2 raus.