Hallo Ihr
Habe hier eine Aufgabe von JAVA und finde leider keinen Ansatz diese zu lösen. :bahnhof:
Es geht um folgendes:
Schreiben Sie ein Programm, das die Prozeduren Ihres Bruchrechner-Programms testet.
• Erstellen Sie ein Programm BruchrechnerTest, das ein Objekt der Klasse Bruchrechner erzeugt.
• Erstellen Sie in diesem Programm zu jeder Ihrer Prozeduren aus „Bruchrechner“ eine Test-Methode, die die Prozedur mit unterschiedlichen Parametern aufruft und das Ergebnis überprüft. Verwenden Sie dazu eine Methode void erwarteGleichheit(…), die zwei (oder vier) Parameter hat und ausgibt, ob die beiden Werte (oder Wertpaare) gleich sind oder nicht.
• Definieren Sie in diesen Methoden jeweils mindestens drei interessante Testfälle, wie negative Werte, sehr große oder sehr kleine Werte und die Null. Probieren Sie, ob Ihr Programm in allen Fällen richtig arbeitet, indem Sie alle Tests automatisch durchführen.
Hier habe ich schon den Bruchrechner:
class Bruchrechner{
static int neuZ;
static int neuN;
public static void main(String[]args){
int z1 = Integer.parseInt(args[1]);
int n1 = Integer.parseInt(args[2]);
int z2 = Integer.parseInt(args[3]);
int n2 = Integer.parseInt(args[4]);
Integer[]zahl = new Integer[4];
zahl[0] = z1;
zahl[1] = n1;
zahl[2] = z2;
zahl[3] = n2;
if(n1 == 0 || n2 == 0 || (args[0].equals("div") && args[3].equals("0"))){
System.out.println("keine division durch null");
}
else{
switch (args[0]){
case "add": Bruchrechner.add(zahl[0],zahl[1],zahl[2],zahl[3]);
break;
case "sub": Bruchrechner.sub(zahl[0],zahl[1],zahl[2],zahl[3]);
break;
case "div": Bruchrechner.div(zahl[0],zahl[1],zahl[2],zahl[3]);
break;
case "mul": Bruchrechner.mul(zahl[0],zahl[1],zahl[2],zahl[3]);
break;
}
}
add(z1, n1, z2, n2);
System.out.println(z1 + "/" + n1 + "/" + " + " + z2 + "/" + n2 + " = " + neuZ + "/" + neuN);
}
static void add(int z1,int n1,int z2,int n2){
neuZ = (z1*n2)+(z2*n1);
neuN = n1*n2;
}
static void sub(int z1,int n1,int z2,int n2){
neuZ = (z1*n2)-(z2*n1);
neuN = n1*n2;
}
static void mul(int z1,int n1,int z2,int n2){
neuZ = z1*z2;
neuN = n1*n2;
}
static void div(int z1,int n1,int z2,int n2){
neuZ = z1*n2;
neuN = n1*z2;
}
}
Kann mir hierzu jemand Tipps geben diese Aufgabe zu meistern?
Danke schonmal
Lg Vancrawl
Habe hier eine Aufgabe von JAVA und finde leider keinen Ansatz diese zu lösen. :bahnhof:
Es geht um folgendes:
Schreiben Sie ein Programm, das die Prozeduren Ihres Bruchrechner-Programms testet.
• Erstellen Sie ein Programm BruchrechnerTest, das ein Objekt der Klasse Bruchrechner erzeugt.
• Erstellen Sie in diesem Programm zu jeder Ihrer Prozeduren aus „Bruchrechner“ eine Test-Methode, die die Prozedur mit unterschiedlichen Parametern aufruft und das Ergebnis überprüft. Verwenden Sie dazu eine Methode void erwarteGleichheit(…), die zwei (oder vier) Parameter hat und ausgibt, ob die beiden Werte (oder Wertpaare) gleich sind oder nicht.
• Definieren Sie in diesen Methoden jeweils mindestens drei interessante Testfälle, wie negative Werte, sehr große oder sehr kleine Werte und die Null. Probieren Sie, ob Ihr Programm in allen Fällen richtig arbeitet, indem Sie alle Tests automatisch durchführen.
Hier habe ich schon den Bruchrechner:
class Bruchrechner{
static int neuZ;
static int neuN;
public static void main(String[]args){
int z1 = Integer.parseInt(args[1]);
int n1 = Integer.parseInt(args[2]);
int z2 = Integer.parseInt(args[3]);
int n2 = Integer.parseInt(args[4]);
Integer[]zahl = new Integer[4];
zahl[0] = z1;
zahl[1] = n1;
zahl[2] = z2;
zahl[3] = n2;
if(n1 == 0 || n2 == 0 || (args[0].equals("div") && args[3].equals("0"))){
System.out.println("keine division durch null");
}
else{
switch (args[0]){
case "add": Bruchrechner.add(zahl[0],zahl[1],zahl[2],zahl[3]);
break;
case "sub": Bruchrechner.sub(zahl[0],zahl[1],zahl[2],zahl[3]);
break;
case "div": Bruchrechner.div(zahl[0],zahl[1],zahl[2],zahl[3]);
break;
case "mul": Bruchrechner.mul(zahl[0],zahl[1],zahl[2],zahl[3]);
break;
}
}
add(z1, n1, z2, n2);
System.out.println(z1 + "/" + n1 + "/" + " + " + z2 + "/" + n2 + " = " + neuZ + "/" + neuN);
}
static void add(int z1,int n1,int z2,int n2){
neuZ = (z1*n2)+(z2*n1);
neuN = n1*n2;
}
static void sub(int z1,int n1,int z2,int n2){
neuZ = (z1*n2)-(z2*n1);
neuN = n1*n2;
}
static void mul(int z1,int n1,int z2,int n2){
neuZ = z1*z2;
neuN = n1*n2;
}
static void div(int z1,int n1,int z2,int n2){
neuZ = z1*n2;
neuN = n1*z2;
}
}
Kann mir hierzu jemand Tipps geben diese Aufgabe zu meistern?
Danke schonmal
Lg Vancrawl