change function names to lowerCamelCase
parent
0d993bff48
commit
786e4e816e
|
|
@ -6,16 +6,16 @@ public class Rekursiver_Rechner {
|
||||||
private static Scanner sc;
|
private static Scanner sc;
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
sc = new Scanner(System.in);
|
sc = new Scanner(System.in);
|
||||||
Menu();
|
menu();
|
||||||
System.out.println("Ende.");
|
System.out.println("Ende.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double RekursiveSquentielleBerechnung(String formel) {
|
public static double rekursiveSquentielleBerechnung(String formel) {
|
||||||
//Todo: Implementiere den Rechner rekursiv.
|
//Todo: Implementiere den Rechner rekursiv.
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Menu() {
|
public static void menu() {
|
||||||
Boolean ende = false;
|
Boolean ende = false;
|
||||||
while(!ende) {
|
while(!ende) {
|
||||||
System.out.println("Schreiben Sie eine Rechnung die nach \"Sequentielle Eingabe\" berechnet werden soll (\"exit\" to quit):");
|
System.out.println("Schreiben Sie eine Rechnung die nach \"Sequentielle Eingabe\" berechnet werden soll (\"exit\" to quit):");
|
||||||
|
|
@ -29,7 +29,7 @@ public class Rekursiver_Rechner {
|
||||||
System.out.println("Die Eingegebene Rechnung ist nicht valide. Probieren Sie es nochmal.");
|
System.out.println("Die Eingegebene Rechnung ist nicht valide. Probieren Sie es nochmal.");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
System.out.println("Das Ergebniss ist: "+RekursiveSquentielleBerechnung(eingabe));
|
System.out.println("Das Ergebniss ist: "+rekursiveSquentielleBerechnung(eingabe));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -46,7 +46,7 @@ public class Rekursiver_Rechner {
|
||||||
for(int i = 0; i<formel.length(); i++) {
|
for(int i = 0; i<formel.length(); i++) {
|
||||||
if((formel.charAt(i)=='+'||formel.charAt(i)=='-'||formel.charAt(i)=='/'||formel.charAt(i)=='*')) {
|
if((formel.charAt(i)=='+'||formel.charAt(i)=='-'||formel.charAt(i)=='/'||formel.charAt(i)=='*')) {
|
||||||
endNumber = i;
|
endNumber = i;
|
||||||
if(!CanParseStringToDouble(formel.substring(startNumber,endNumber))) {
|
if(!canParseStringToDouble(formel.substring(startNumber,endNumber))) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
startNumber = endNumber+1;
|
startNumber = endNumber+1;
|
||||||
|
|
@ -59,7 +59,7 @@ public class Rekursiver_Rechner {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Boolean CanParseStringToDouble(String n) {
|
public static Boolean canParseStringToDouble(String n) {
|
||||||
if(n == "") {
|
if(n == "") {
|
||||||
n = "0.0";
|
n = "0.0";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,55 +7,55 @@ import org.junit.jupiter.api.Test;
|
||||||
class Rekursiver_Rechner_Test {
|
class Rekursiver_Rechner_Test {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void NormaleRechnungen() {
|
void testNormaleRechnungen() {
|
||||||
String testRechnung = "5+5*5";
|
String testRechnung = "5+5*5";
|
||||||
assertEquals(50.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(50.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5*5+5";
|
testRechnung = "5*5+5";
|
||||||
assertEquals(30.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(30.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5+5";
|
testRechnung = "5+5";
|
||||||
assertEquals(10.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(10.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5-5";
|
testRechnung = "5-5";
|
||||||
assertEquals(0.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(0.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5*5";
|
testRechnung = "5*5";
|
||||||
assertEquals(25.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(25.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5/5";
|
testRechnung = "5/5";
|
||||||
assertEquals(1.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(1.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "-5";
|
testRechnung = "-5";
|
||||||
assertEquals(-5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(-5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void EdgeCases() {
|
void testEdgeCases() {
|
||||||
String testRechnung = "5+";
|
String testRechnung = "5+";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5-";
|
testRechnung = "5-";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5/";
|
testRechnung = "5/";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5*";
|
testRechnung = "5*";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5+++";
|
testRechnung = "5+++";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5---";
|
testRechnung = "5---";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5///";
|
testRechnung = "5///";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5***";
|
testRechnung = "5***";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5+-/*";
|
testRechnung = "5+-/*";
|
||||||
assertEquals(5.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(5.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "+";
|
testRechnung = "+";
|
||||||
assertEquals(0.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(0.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "-";
|
testRechnung = "-";
|
||||||
assertEquals(0.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(0.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "/";
|
testRechnung = "/";
|
||||||
assertEquals(0.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(0.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "*";
|
testRechnung = "*";
|
||||||
assertEquals(0.0, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(0.0, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "5/0";
|
testRechnung = "5/0";
|
||||||
assertEquals(Double.POSITIVE_INFINITY, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(Double.POSITIVE_INFINITY, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
testRechnung = "-5/0";
|
testRechnung = "-5/0";
|
||||||
assertEquals(Double.NEGATIVE_INFINITY, Rekursiver_Rechner.RekursiveSquentielleBerechnung(testRechnung));
|
assertEquals(Double.NEGATIVE_INFINITY, Rekursiver_Rechner.rekursiveSquentielleBerechnung(testRechnung));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue