diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..6220d0d
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.project b/.project
new file mode 100644
index 0000000..d3b78a6
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ Rekursiver_Rechner
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/README.md b/README.md
index 5da762a..0e05b5b 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,62 @@
-# Rekursiver_Rechner_Aufgabenstellung
+# Rekursiver Rechner
+## Repo zur Aufgabe
+Hier:
+finden Sie ein git-repo mit der Aufgabenstellung und Tests. Sie müssen lediglich die Funktion: `double RekursiveSquentielleBerechnung()` vervollständigen. Mit Hilfe der Tests weiß man, ob die Aufgabe korrekt ist.
+## Aufgabe
+Erstellen Sie einen Rechner der [Sequentielle Eingabe](https://de.wikipedia.org/wiki/Taschenrechner#Eingabelogik) zum Berechnen des Ergebnisses rekursiv verwendet.
+In dem Eingabe String sind nur die folgenenden Zeichen erlaubt: 0-9.+-/*
+## Immediate execution erklärt
+Wikipedia: [Sequentielle Eingabe (Deutsch)](https://de.wikipedia.org/wiki/Taschenrechner#Eingabelogik)
+
+```
+Bsp.:
+5.5+4.5*10
+```
+Normale Berechnung(Algebraische Notation):
+```
+5.5+4.5*10 | Klammern setzen (Rangfolge der Operatoren beachten)
+=5.5+(4.5*10)
+=5.5+45
+=50.5
+```
+Sequentielle Eingabe:
+```
+5.5+4.5*10 |Von links nach rechts berechnen (ohne Beachtung der Rangfolge der Operatoren)
+=10*10
+=100
+```
+Hinweis: Der "normale" Windows Rechner arbeitet nach dem Sequentiellen Eingabe Prinzip.
+## Weitere Hinweise
+### Randfälle definiert
+Falls ein Operator am Ende des Strings steht, soll er ignoriert werden.
+
+Bsp.:
+```
++ - / *
+10+ 10- 10/ 10*
+=10+0 =10-0 =10/1 =10*1
+=10 =10 =10 =10
+```
+Falls Operator an Operator steht, soll er das Ergebniss nicht ändern.
+
+Bsp.:
+```
++++ --- /// *** +-/*
+10++++5 10----5 10////5 10***5 10+-/**5
+=10+0+0+0+5 =10-0-0-0-5 =10/1/1/1/5 =10*1*1*1*5 =10+0-0/1*1*5
+=15 =5 =2 =50 =50
+```
+Falls ein Operator an erster Stelle steht ist die vorhergehende Zahl 0.
+
+Bsp.:
+```
++ - / *
+=0+0 =0-0 =0/1 =0*1
+=0 =0 =0 =0
+```
+Zahlen wie "5." entsprechen "5.0" und ".5" entsprechen "0.5".
+
+Nur "." als Zahl ist ungültig.
+
+Bei Rechnungen "/0" soll als Ergebniss `Double.POSITIVE_INFINITY` oder `Double.NEGATIVE_INFINITY` zurück gegeben werden. (Das macht Java bei Rechnungen "/0" von sich aus.)
-PR1 Aufgabensammlung
\ No newline at end of file
diff --git a/src/de/hs_mannheim/Rekursiver_Rechner/Rekursiver_Rechner.java b/src/de/hs_mannheim/Rekursiver_Rechner/Rekursiver_Rechner.java
new file mode 100644
index 0000000..4feb1a3
--- /dev/null
+++ b/src/de/hs_mannheim/Rekursiver_Rechner/Rekursiver_Rechner.java
@@ -0,0 +1,73 @@
+package de.hs_mannheim.Rekursiver_Rechner;
+
+import java.util.Scanner;
+
+public class Rekursiver_Rechner {
+ private static Scanner sc;
+ public static void main(String[] args) {
+ sc = new Scanner(System.in);
+ Menu();
+ System.out.println("Ende.");
+ }
+
+ public static double RekursiveSquentielleBerechnung(String formel) {
+ //Todo: Implementiere den Rechner rekursiv.
+ return 0.0;
+ }
+
+ public static void Menu() {
+ Boolean ende = false;
+ while(!ende) {
+ System.out.println("Schreiben Sie eine Rechnung die nach \"Sequentielle Eingabe\" berechnet werden soll (\"exit\" to quit):");
+ System.out.println();
+ String eingabe = sc.nextLine();
+ if("exit".equals(eingabe)) {
+ ende = true;
+ continue;
+ }
+ if(!isValidString(eingabe)) {
+ System.out.println("Die Eingegebene Rechnung ist nicht valide. Probieren Sie es nochmal.");
+ continue;
+ }
+ System.out.println("Das Ergebniss ist: "+RekursiveSquentielleBerechnung(eingabe));
+ }
+ }
+
+ public static Boolean isValidString(String formel) {
+ //Check if all Chars are allowed
+ for(int i = 0; i='0' && formel.charAt(i)<='9')||formel.charAt(i)=='.'||formel.charAt(i)=='+'||formel.charAt(i)=='-'||formel.charAt(i)=='/'||formel.charAt(i)=='*')) {
+ return false;
+ }
+ }
+ //Check if all Numbers can be parsed
+ int startNumber = 0;
+ int endNumber = 0;
+ for(int i = 0; i