Guten Tag liebe Forenmitglieder,
wir haben die Aufgabe bekommen einen Bruchrechner zu schreiben. Dies ist mir erfolgreich gelungen. Nun muss ich auch noch ein Testprogramm schreiben und habe schon angefangen zu probieren aber komme nicht sehr gut damit klar, deswegen hier meine Frage und Bitte: Wie kann ich diesen Code testbar machen?
Das ist mein Bruchrechner:
wir haben die Aufgabe bekommen einen Bruchrechner zu schreiben. Dies ist mir erfolgreich gelungen. Nun muss ich auch noch ein Testprogramm schreiben und habe schon angefangen zu probieren aber komme nicht sehr gut damit klar, deswegen hier meine Frage und Bitte: Wie kann ich diesen Code testbar machen?
Das ist mein Bruchrechner:
Java:
class Bruch{
public static void main(String[] args){
int ro = Integer.parseInt(args[0]);
int z1 = Integer.parseInt(args[1]);
int n1 = Integer.parseInt(args[2]);
int e = Integer.parseInt(args[2]);
int z2 = Integer.parseInt(args[3]);
int n2 = Integer.parseInt(args[4]);
//Fehlerbehandlung für Division durch 0
if (n1 == 0){
System.out.println("Fehler! Division durch 0 ist nicht möglich. Bruch: "+z1+" durch "+n1);}
if (n2 == 0){
System.out.println("Fehler! Division durch 0 ist nicht möglich. Bruch: "+z2+" durch "+n2);}
//Addition
if (ro==1){
Addition(z1,n1,z2,n2,e);
}
//Subtraktion
if (ro==2){
Subtraktion(z1,n1,z2,n2,e);
}
//Multiplikation
if (ro==3){
Multiplikation(z1,n1,z2,n2);
}
//Division
if (ro==4){
Division(z1,n1,z2,n2);
}
}
//Methoden:
//Addition
public static void Addition(int a,int b,int c,int d,int s){
a=a*d;
b=b*d;
c=c*s;
d=d*s;
a=a+c;
int ggT=Kuerzen(a,b);
a=a/ggT;
b=b/ggT;
int [] ergadd = {a,b};
System.out.println("Das Ergebnis der Addition ist: "+a+"/"+b);
}
//Subtraktion
public static void Subtraktion(int a,int b,int c,int d,int s){
a= a*d;
b= b*d;
c= c*s;
d= d*s;
a=a-c;
int ggT=Kuerzen(a,b);
a=a/ggT;
b=b/ggT;
int [] ergsub = {a,b};
System.out.println("Das Ergebnis ist: "+a+"/"+b);
}
//Multiplikation
public static void Multiplikation(int a,int b,int c,int d){
a= a*c;
b= b*d;
int ggT=Kuerzen(a,b);
a=a/ggT;
b=b/ggT;
int [] ergmul = {a,b};
System.out.println("Das Ergebnis ist: "+a+"/"+b);
}
//Division
public static void Division(int a,int b,int c,int d){
a=a*d;
b=b*c;
int ggT=Kuerzen(a,b);
a=a/ggT;
b=b/ggT;
int [] ergdiv = {a,b};
System.out.println("Das Ergebnis ist: "+a+"/"+b);
}
//Kuerzen
public static int Kuerzen(int x,int y){
if (y==0) {
return x;
}else{ return Kuerzen(y,x%y);
}
}
}