diff --git a/.project b/.project
new file mode 100644
index 0000000..a628cce
--- /dev/null
+++ b/.project
@@ -0,0 +1,11 @@
+
+
+ uebungen
+
+
+
+
+
+
+
+
diff --git a/solutions/.classpath b/solutions/.classpath
new file mode 100644
index 0000000..7a69f73
--- /dev/null
+++ b/solutions/.classpath
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/solutions/.gitignore b/solutions/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/solutions/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/solutions/.project b/solutions/.project
new file mode 100644
index 0000000..ce0149b
--- /dev/null
+++ b/solutions/.project
@@ -0,0 +1,23 @@
+
+
+ solutions
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/solutions/.settings/org.eclipse.core.resources.prefs b/solutions/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..654c175
--- /dev/null
+++ b/solutions/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding/=UTF-8
diff --git a/solutions/.settings/org.eclipse.jdt.core.prefs b/solutions/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..cd7ae0f
--- /dev/null
+++ b/solutions/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/solutions/bin/.gitignore b/solutions/bin/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/solutions/bin/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/solutions/bin/.project b/solutions/bin/.project
new file mode 100644
index 0000000..ce0149b
--- /dev/null
+++ b/solutions/bin/.project
@@ -0,0 +1,23 @@
+
+
+ solutions
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/solutions/bin/.settings/org.eclipse.core.resources.prefs b/solutions/bin/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..4824b80
--- /dev/null
+++ b/solutions/bin/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/solutions/bin/checkstyle.xml b/solutions/bin/checkstyle.xml
new file mode 100644
index 0000000..2a9d4aa
--- /dev/null
+++ b/solutions/bin/checkstyle.xml
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/solutions/bin/pmd.xml b/solutions/bin/pmd.xml
new file mode 100644
index 0000000..97e1b5f
--- /dev/null
+++ b/solutions/bin/pmd.xml
@@ -0,0 +1,2253 @@
+
+
+
+
+
+Rules which enforce generally accepted best practices.
+
+
+
+
+
+
+Instantiation by way of private constructors from outside the constructor's class often causes the
+generation of an accessor. A factory method, or non-privatization of the constructor can eliminate this
+situation. The generated class file is actually an interface. It gives the accessing class the ability
+to invoke a new hidden package scope constructor that takes the interface as a supplementary parameter.
+This turns a private constructor effectively into one with package scope, and is challenging to discern.
+
+_Note:_ This rule is only executed for Java 10 or lower.
+Since Java 11, [JEP 181: Nest-Based Access Control](https://openjdk.org/jeps/181) has been implemented. This
+means that in Java 11 and above accessor classes are not generated anymore.
+
+ 3
+
+
+
+
+
+
+
+
+
+ Declaring a MessageDigest instance as a field make this instance directly available to multiple threads.
+ Such sharing of MessageDigest instances should be avoided if possible since it leads to wrong results
+ if the access is not synchronized correctly.
+ Just create a new instance and use it locally, where you need it.
+ Creating a new instance is easier than synchronizing access to a shared instance.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Reassigning exception variables caught in a catch statement should be avoided because of:
+
+1) If it is needed, multi catch can be easily added and code will still compile.
+
+2) Following the principle of least surprise we want to make sure that a variable caught in a catch statement
+is always the one thrown in a try block.
+
+ 3
+
+
+
+
+
+Reassigning loop variables can lead to hard-to-find bugs. Prevent or limit how these variables can be changed.
+
+In foreach-loops, configured by the `foreachReassign` property:
+- `deny`: Report any reassignment of the loop variable in the loop body. _This is the default._
+- `allow`: Don't check the loop variable.
+- `firstOnly`: Report any reassignments of the loop variable, except as the first statement in the loop body.
+ _This is useful if some kind of normalization or clean-up of the value before using is permitted, but any other change of the variable is not._
+
+In for-loops, configured by the `forReassign` property:
+- `deny`: Report any reassignment of the control variable in the loop body. _This is the default._
+- `allow`: Don't check the control variable.
+- `skip`: Report any reassignments of the control variable, except conditional increments/decrements (`++`, `--`, `+=`, `-=`).
+ _This prevents accidental reassignments or unconditional increments of the control variable._
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+Reassigning values to incoming parameters of a method or constructor is not recommended, as this can
+make the code more difficult to understand. The code is often read with the assumption that parameter values
+don't change and an assignment violates therefore the principle of least astonishment. This is especially a
+problem if the parameter is documented e.g. in the method's javadoc and the new content differs from the original
+documented content.
+
+Use temporary local variables instead. This allows you to assign a new name, which makes the code better
+understandable.
+
+Note that this rule considers both methods and constructors. If there are multiple assignments for a formal
+parameter, then only the first assignment is reported.
+
+ 2
+
+
+
+
+
+
+
+StringBuffers/StringBuilders can grow considerably, and so may become a source of memory leaks
+if held within objects with long lifetimes.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Application with hard-coded IP addresses can become impossible to deploy in some cases.
+Externalizing IP adresses is preferable.
+
+ 3
+
+
+
+
+
+
+
+Always check the return values of navigation methods (next, previous, first, last) of a ResultSet.
+If the value return is 'false', it should be handled properly.
+
+ 3
+
+
+
+
+
+
+
+Avoid constants in interfaces. Interfaces should define types, constants are implementation details
+better placed in classes or enums. See Effective Java, item 19.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+By convention, the default label should be the last label in a switch statement.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Double brace initialisation is a pattern to initialise eg collections concisely. But it implicitly
+ generates a new .class file, and the object holds a strong reference to the enclosing object. For those
+ reasons, it is preferable to initialize the object normally, even though it's verbose.
+
+ This rule counts any anonymous class which only has a single initializer as an instance of double-brace
+ initialization. There is currently no way to find out whether a method called in the initializer is not
+ accessible from outside the anonymous class, and those legit cases should be suppressed for the time being.
+
+ 3
+
+
+
+
+
+
+
+
+ (){{
+ add("a");
+ add("b");
+ add("c");
+}};
+
+// the better way is to not create an anonymous class:
+List a = new ArrayList<>();
+a.add("a");
+a.add("b");
+a.add("c");
+return a;
+]]>
+
+
+
+
+
+Reports loops that can be safely replaced with the foreach syntax. The rule considers loops over
+lists, arrays and iterators. A loop is safe to replace if it only uses the index variable to
+access an element of the list or array, only has one update statement, and loops through *every*
+element of the list or array left to right.
+
+ 3
+
+ l) {
+ for (int i = 0; i < l.size(); i++) { // pre Java 1.5
+ System.out.println(l.get(i));
+ }
+
+ for (String s : l) { // post Java 1.5
+ System.out.println(s);
+ }
+ }
+}
+]]>
+
+
+
+
+
+Whenever using a log level, one should check if the loglevel is actually enabled, or
+otherwise skip the associate String creation and manipulation.
+
+An alternative to checking the log level are substituting parameters, formatters or lazy logging
+with lambdas. The available alternatives depend on the actual logging framework.
+
+ 2
+
+ calculateExpensiveLoggingText());
+]]>
+
+
+
+
+
+In JUnit 3, test suites are indicated by the suite() method. In JUnit 4, suites are indicated
+through the @RunWith(Suite.class) annotation.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In JUnit 3, the tearDown method was used to clean up all data entities required in running tests.
+JUnit 4 skips the tearDown method and executes all methods annotated with @After after running each test.
+JUnit 5 introduced @AfterEach and @AfterAll annotations to execute methods after each test or after all tests in the class, respectively.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In JUnit 3, the setUp method was used to set up all data entities required in running tests.
+JUnit 4 skips the setUp method and executes all methods annotated with @Before before all tests.
+JUnit 5 introduced @BeforeEach and @BeforeAll annotations to execute methods before each test or before all tests in the class, respectively.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In JUnit 3, the framework executed all methods which started with the word test as a unit test.
+In JUnit 4, only methods annotated with the @Test annotation are executed.
+In JUnit 5, one of the following annotations should be used for tests: @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In JUnit4, use the @Test(expected) annotation to denote tests that should throw exceptions.
+
+ 3
+
+
+
+
+
+
+
+ Position literals first in all String comparisons, if the second argument is null then NullPointerExceptions
+ can be avoided, they will just return false. Note that switching literal positions for compareTo and
+ compareToIgnoreCase may change the result, see examples.
+
+ 3
+
+ 0); // should be: "bar".compareTo(x) < 0
+ }
+ boolean bar(String x) {
+ return (x.compareToIgnoreCase("bar") > 0); // should be: "bar".compareToIgnoreCase(x) < 0
+ }
+ boolean bar(String x) {
+ return x.contentEquals("bar"); // should be "bar".contentEquals(x)
+ }
+}
+]]>
+
+
+
+
+
+The use of implementation types (i.e., HashSet) as object references limits your ability to use alternate
+implementations in the future as requirements change. Whenever available, referencing objects
+by their interface types (i.e, Set) provides much more flexibility.
+
+ 3
+
+ list = new ArrayList<>();
+
+ public HashSet getFoo() {
+ return new HashSet();
+ }
+
+ // preferred approach
+ private List list = new ArrayList<>();
+
+ public Set getFoo() {
+ return new HashSet();
+ }
+}
+]]>
+
+
+
+
+
+Exposing internal arrays to the caller violates object encapsulation since elements can be
+removed or replaced outside of the object that owns it. It is safer to return a copy of the array.
+
+ 3
+
+
+
+
+
+
+
+
+ Annotating overridden methods with @Override ensures at compile time that
+ the method really overrides one, which helps refactoring and clarifies intent.
+
+ 3
+
+
+
+
+
+
+
+Java allows the use of several variables declaration of the same type on one line. However, it
+can lead to quite messy code. This rule looks for several declarations on the same line.
+
+ 4
+
+
+
+
+ 1]
+ [$strictMode or count(distinct-values(VariableDeclarator/@BeginLine)) != count(VariableDeclarator)]
+|
+//FieldDeclaration
+ [count(VariableDeclarator) > 1]
+ [$strictMode or count(distinct-values(VariableDeclarator/@BeginLine)) != count(VariableDeclarator)]
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+Position literals first in comparisons, if the second argument is null then NullPointerExceptions
+can be avoided, they will just return false.
+
+This rule is replaced by the more general rule {% rule "LiteralsFirstInComparisons" %}.
+
+ 3
+
+
+
+
+
+
+
+Position literals first in comparisons, if the second argument is null then NullPointerExceptions
+can be avoided, they will just return false.
+
+This rule is replaced by the more general rule {% rule "LiteralsFirstInComparisons" %}.
+
+ 3
+
+
+
+
+
+
+
+ Reports usages of primitive wrapper constructors. They are deprecated
+ since Java 9 and should not be used. Even before Java 9, they can
+ be replaced with usage of the corresponding static `valueOf` factory method
+ (which may be automatically inserted by the compiler since Java 1.5).
+ This has the advantage that it may reuse common instances instead of creating
+ a new instance each time.
+
+ Note that for `Boolean`, the named constants `Boolean.TRUE` and `Boolean.FALSE`
+ are preferred instead of `Boolean.valueOf`.
+
+ 3
+
+
+
+
+
+
+
+
+Consider replacing Enumeration usages with the newer java.util.Iterator
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Consider replacing Hashtable usage with the newer java.util.Map if thread safety is not required.
+
+ 3
+
+
+
+ //Type/ReferenceType/ClassOrInterfaceType[@Image='Hashtable']
+
+
+
+
+
+
+
+
+
+Consider replacing Vector usages with the newer java.util.ArrayList if expensive thread-safe operations are not required.
+
+ 3
+
+
+
+ //Type/ReferenceType/ClassOrInterfaceType[@Image='Vector']
+
+
+
+
+
+
+
+
+
+
+ Switch statements should be exhaustive, to make their control flow
+ easier to follow. This can be achieved by adding a `default` case, or,
+ if the switch is on an enum type, by ensuring there is one switch branch
+ for each enum constant.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reports assignments to variables that are never used before the variable is overwritten,
+ or goes out of scope. Unused assignments are those for which
+ 1. The variable is never read after the assignment, or
+ 2. The assigned value is always overwritten by other assignments before the next read of
+ the variable.
+
+ The rule doesn't consider assignments to fields except for those of `this` in a constructor,
+ or static fields of the current class in static initializers.
+
+ The rule may be suppressed with the standard `@SuppressWarnings("unused")` tag.
+
+ The rule subsumes {% rule "UnusedLocalVariable" %}, and {% rule "UnusedFormalParameter" %}.
+ Those violations are filtered
+ out by default, in case you already have enabled those rules, but may be enabled with the property
+ `reportUnusedVariables`. Variables whose name starts with `ignored` or `unused` are filtered out, as
+ is standard practice for exceptions.
+
+ Limitations:
+ * The rule currently cannot know which method calls throw exceptions, or which exceptions they throw.
+ In the body of a try block, every method or constructor call is assumed to throw. This may cause false-negatives.
+ The only other language construct that is assumed to throw is the `throw` statement, in particular,
+ things like `assert` statements, or NullPointerExceptions on dereference are ignored.
+ * The rule cannot resolve assignments across constructors, when they're called with the special
+ `this(...)` syntax. This may cause false-negatives.
+
+ Both of those limitations may be partly relaxed in PMD 7.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Reports parameters of methods and constructors that are not referenced them in the method body.
+Parameters whose name starts with `ignored` or `unused` are filtered out.
+
+Removing unused formal parameters from public methods could cause a ripple effect through the code base.
+Hence, by default, this rule only considers private methods. To include non-private methods, set the
+`checkAll` property to `true`.
+
+
+ 3
+
+
+
+
+
+
+
+Reports import statements that are not used within the file. This also reports
+duplicate imports, and imports from the same package. The simplest fix is just
+to delete those imports.
+
+This rule is deprecated since PMD 6.34.0. Use the rule {% rule "java/codestyle/UnnecessaryImport" %}
+from category codestyle instead.
+
+ 4
+
+
+
+
+
+
+
+Detects when a local variable is declared and/or assigned, but not used.
+Variables whose name starts with `ignored` or `unused` are filtered out.
+
+ 3
+
+
+
+
+
+
+
+Detects when a private field is declared and/or assigned a value, but not used.
+
+Since PMD 6.50.0 private fields are ignored, if the fields are annotated with any annotation or the
+enclosing class has any annotation. Annotations often enable a framework (such as dependency injection, mocking
+or e.g. Lombok) which use the fields by reflection or other means. This usage can't be detected by static code analysis.
+Previously these frameworks where explicitly allowed by listing their annotations in the property
+"ignoredAnnotations", but that turned out to be prone of false positive for any not explicitly considered framework.
+
+ 3
+
+
+
+
+
+
+
+Unused Private Method detects when a private method is declared but is unused.
+
+ 3
+
+
+
+
+
+
+
+This rule detects JUnit assertions in object references equality. These assertions should be made by
+more specific methods, like assertNull, assertNotNull.
+
+Deprecated since PMD 6.37.0, use {% rule SimplifiableTestAssertion %} instead.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+When asserting a value is the same as a literal or Boxed boolean, use assertTrue/assertFalse, instead of assertEquals.
+
+Deprecated since PMD 6.37.0, use {% rule SimplifiableTestAssertion %} instead.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The isEmpty() method on java.util.Collection is provided to determine if a collection has any elements.
+Comparing the value of size() to 0 does not convey intent as well as the isEmpty() method.
+
+ 3
+
+
+
+
+
+
+
+Starting with Java 7, StandardCharsets provides constants for common Charset objects, such as UTF-8.
+Using the constants is less error prone, and can provide a small performance advantage compared to `Charset.forName(...)`
+since no scan across the internal `Charset` caches is needed.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`do {} while (true);` requires reading the end of the statement before it is
+apparent that it loops forever, whereas `while (true) {}` is easier to understand.
+
+`do {} while (false);` is redundant, and if an inner variable scope is required,
+a block `{}` is sufficient.
+
+`while (false) {}` will never execute the block and can be removed in its entirety.
+
+ 3
+
+
+
+= 1]]
+|
+(: while loops with conditional and'ed boolean literals, maybe parenthesized :)
+//WhileStatement[Expression/(AndExpression|ConditionalAndExpression|(PrimaryExpression/PrimaryPrefix/Expression/(AndExpression|ConditionalAndExpression)))
+ (: at least one false literal :)
+ [count(PrimaryExpression/PrimaryPrefix/Literal/BooleanLiteral[@True = false()]) >= 1]]
+|
+(: do-while loops with conditional or'ed boolean literals, maybe parenthesized :)
+//DoStatement[Expression/(InclusiveOrExpression|ConditionalOrExpression|(PrimaryExpression/PrimaryPrefix/Expression/(InclusiveOrExpression|ConditionalOrExpression)))
+ [count(PrimaryExpression/PrimaryPrefix/Literal/BooleanLiteral) = 2]]
+|
+(: do-while loops with conditional and'ed boolean literals, maybe parenthesized :)
+//DoStatement[Expression/(AndExpression|ConditionalAndExpression|(PrimaryExpression/PrimaryPrefix/Expression/(AndExpression|ConditionalAndExpression)))
+ (: at least one false literal :)
+ [count(PrimaryExpression/PrimaryPrefix/Literal/BooleanLiteral[@True = false()]) >= 1
+ (: or two true literals (e.g. true & true) :)
+ or count(PrimaryExpression/PrimaryPrefix/Literal/BooleanLiteral[@True = true()]) = 2]]
+]]>
+
+
+
+
+
+
+
+
+
+
diff --git a/solutions/bin/pom.xml b/solutions/bin/pom.xml
new file mode 100644
index 0000000..7d56871
--- /dev/null
+++ b/solutions/bin/pom.xml
@@ -0,0 +1,132 @@
+
+ 4.0.0
+ de.hs_mannheim.pr2
+ solutions
+ 1.0-SNAPSHOT
+ jar
+
+ PR2 Excercises
+
+
+ UTF-8
+ 17
+ 17
+ 5.9.1
+ 1.9.1
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+ install
+ ${basedir}/target
+ ${project.artifactId}-${project.version}
+
+
+ maven-compiler-plugin
+ 3.10.1
+
+
+ maven-surefire-plugin
+ 3.0.0-M7
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ 3.2.0
+
+
+ com.puppycrawl.tools
+ checkstyle
+ 10.4
+
+
+
+ checkstyle.xml
+ true
+ true
+ false
+
+
+
+ validate
+ validate
+
+ check
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-pmd-plugin
+ 3.19.0
+
+
+ ./pmd.xml
+
+ true
+ true
+
+
+
+
+ check
+
+
+
+
+
+
+
+
+
+ com.github.thomsmits
+ game-framework
+ v1.0
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ ${junit.jupiter.version}
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ ${junit.jupiter.version}
+
+
+ org.junit.jupiter
+ junit-jupiter-params
+ ${junit.jupiter.version}
+
+
+ org.junit.platform
+ junit-platform-suite
+ ${junit.platform.version}
+
+
+ org.junit.vintage
+ junit-vintage-engine
+ 4.12.0-M4
+
+
+ org.jfree
+ jfreechart
+ 1.5.3
+
+
+
+
diff --git a/solutions/bin/src/main/java/pr2/auffrischung/grossmacher/Grossmacher.class b/solutions/bin/src/main/java/pr2/auffrischung/grossmacher/Grossmacher.class
new file mode 100644
index 0000000..e319036
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/auffrischung/grossmacher/Grossmacher.class differ
diff --git a/solutions/bin/src/main/java/pr2/auffrischung/labeled_break/ArraySucher.class b/solutions/bin/src/main/java/pr2/auffrischung/labeled_break/ArraySucher.class
new file mode 100644
index 0000000..759ec97
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/auffrischung/labeled_break/ArraySucher.class differ
diff --git a/solutions/bin/src/main/java/pr2/auffrischung/password/PasswortChecker.class b/solutions/bin/src/main/java/pr2/auffrischung/password/PasswortChecker.class
new file mode 100644
index 0000000..0e6070c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/auffrischung/password/PasswortChecker.class differ
diff --git a/solutions/bin/src/main/java/pr2/auffrischung/printf/DoubleFormatter.class b/solutions/bin/src/main/java/pr2/auffrischung/printf/DoubleFormatter.class
new file mode 100644
index 0000000..74d0a55
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/auffrischung/printf/DoubleFormatter.class differ
diff --git a/solutions/bin/src/main/java/pr2/auffrischung/quine/Quine.class b/solutions/bin/src/main/java/pr2/auffrischung/quine/Quine.class
new file mode 100644
index 0000000..0f21658
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/auffrischung/quine/Quine.class differ
diff --git a/solutions/bin/src/main/java/pr2/auffrischung/suchemax/GroessteZahl.class b/solutions/bin/src/main/java/pr2/auffrischung/suchemax/GroessteZahl.class
new file mode 100644
index 0000000..e58a6d6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/auffrischung/suchemax/GroessteZahl.class differ
diff --git a/solutions/bin/src/main/java/pr2/auffrischung/taschenrechner/Taschenrechner.class b/solutions/bin/src/main/java/pr2/auffrischung/taschenrechner/Taschenrechner.class
new file mode 100644
index 0000000..2056d27
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/auffrischung/taschenrechner/Taschenrechner.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/iterator/SimpleStack.class b/solutions/bin/src/main/java/pr2/collections/iterator/SimpleStack.class
new file mode 100644
index 0000000..6716900
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/iterator/SimpleStack.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/iterator/test/SimpleStackTest.class b/solutions/bin/src/main/java/pr2/collections/iterator/test/SimpleStackTest.class
new file mode 100644
index 0000000..b7a9712
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/iterator/test/SimpleStackTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/iterieren/CoinGenerator.class b/solutions/bin/src/main/java/pr2/collections/iterieren/CoinGenerator.class
new file mode 100644
index 0000000..c87ef77
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/iterieren/CoinGenerator.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/iterieren/GameBoard.class b/solutions/bin/src/main/java/pr2/collections/iterieren/GameBoard.class
new file mode 100644
index 0000000..29dc852
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/iterieren/GameBoard.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/iterieren/GameMain.class b/solutions/bin/src/main/java/pr2/collections/iterieren/GameMain.class
new file mode 100644
index 0000000..3145109
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/iterieren/GameMain.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/list/WordCollector.class b/solutions/bin/src/main/java/pr2/collections/list/WordCollector.class
new file mode 100644
index 0000000..69eb967
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/list/WordCollector.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste$Item.class b/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste$Item.class
new file mode 100644
index 0000000..3ad4a3f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste$Item.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste$ListenIterator.class b/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste$ListenIterator.class
new file mode 100644
index 0000000..9fe015d
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste$ListenIterator.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste.class b/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste.class
new file mode 100644
index 0000000..22ca1dd
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/list_iterator/Liste.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/map/WordCount.class b/solutions/bin/src/main/java/pr2/collections/map/WordCount.class
new file mode 100644
index 0000000..5ffbd3e
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/map/WordCount.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/map/WordFrequency.class b/solutions/bin/src/main/java/pr2/collections/map/WordFrequency.class
new file mode 100644
index 0000000..3853eb2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/map/WordFrequency.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/reverser/Reverser.class b/solutions/bin/src/main/java/pr2/collections/reverser/Reverser.class
new file mode 100644
index 0000000..4e6a978
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/reverser/Reverser.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/reverser/test/ReverserTest.class b/solutions/bin/src/main/java/pr2/collections/reverser/test/ReverserTest.class
new file mode 100644
index 0000000..c766e11
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/reverser/test/ReverserTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/reverser_generic/Reverser.class b/solutions/bin/src/main/java/pr2/collections/reverser_generic/Reverser.class
new file mode 100644
index 0000000..d02c514
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/reverser_generic/Reverser.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/reverser_generic/test/ReverserTest.class b/solutions/bin/src/main/java/pr2/collections/reverser_generic/test/ReverserTest.class
new file mode 100644
index 0000000..5ac6ba5
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/reverser_generic/test/ReverserTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/set/WordCollector.class b/solutions/bin/src/main/java/pr2/collections/set/WordCollector.class
new file mode 100644
index 0000000..f6d75e5
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/set/WordCollector.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/sorter_1/CommandLineSorter.class b/solutions/bin/src/main/java/pr2/collections/sorter_1/CommandLineSorter.class
new file mode 100644
index 0000000..158d850
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/sorter_1/CommandLineSorter.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/sorter_2/CommandLineSorter.class b/solutions/bin/src/main/java/pr2/collections/sorter_2/CommandLineSorter.class
new file mode 100644
index 0000000..4593181
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/sorter_2/CommandLineSorter.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/sortieren/Sorter$SortOrder.class b/solutions/bin/src/main/java/pr2/collections/sortieren/Sorter$SortOrder.class
new file mode 100644
index 0000000..d6e59f5
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/sortieren/Sorter$SortOrder.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/sortieren/Sorter.class b/solutions/bin/src/main/java/pr2/collections/sortieren/Sorter.class
new file mode 100644
index 0000000..2e78bad
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/sortieren/Sorter.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/sortieren/test/SorterTest.class b/solutions/bin/src/main/java/pr2/collections/sortieren/test/SorterTest.class
new file mode 100644
index 0000000..6ffa31e
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/sortieren/test/SorterTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/collections/woerterbuch/Woerterbuch.class b/solutions/bin/src/main/java/pr2/collections/woerterbuch/Woerterbuch.class
new file mode 100644
index 0000000..f2aede2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/collections/woerterbuch/Woerterbuch.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/eigene/Wuerfel.class b/solutions/bin/src/main/java/pr2/enums/eigene/Wuerfel.class
new file mode 100644
index 0000000..3ad6f5b
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/eigene/Wuerfel.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/eigene/WuerfelTyp.class b/solutions/bin/src/main/java/pr2/enums/eigene/WuerfelTyp.class
new file mode 100644
index 0000000..eee6adb
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/eigene/WuerfelTyp.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/eigene/test/WuerfelTest.class b/solutions/bin/src/main/java/pr2/enums/eigene/test/WuerfelTest.class
new file mode 100644
index 0000000..dd54deb
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/eigene/test/WuerfelTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/filme/LieblingsFilme.class b/solutions/bin/src/main/java/pr2/enums/filme/LieblingsFilme.class
new file mode 100644
index 0000000..0f385ac
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/filme/LieblingsFilme.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/filme/Main.class b/solutions/bin/src/main/java/pr2/enums/filme/Main.class
new file mode 100644
index 0000000..f07d8a5
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/filme/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/schnick/Move.class b/solutions/bin/src/main/java/pr2/enums/schnick/Move.class
new file mode 100644
index 0000000..1d2f2dd
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/schnick/Move.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/schnick/SchnickSchnackSchnuck.class b/solutions/bin/src/main/java/pr2/enums/schnick/SchnickSchnackSchnuck.class
new file mode 100644
index 0000000..e98039c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/schnick/SchnickSchnackSchnuck.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/singleton/MyEnum.class b/solutions/bin/src/main/java/pr2/enums/singleton/MyEnum.class
new file mode 100644
index 0000000..4299a67
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/singleton/MyEnum.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/singleton/SingletonBeweis.class b/solutions/bin/src/main/java/pr2/enums/singleton/SingletonBeweis.class
new file mode 100644
index 0000000..a5297bc
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/singleton/SingletonBeweis.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/verwenden/GameBoard.class b/solutions/bin/src/main/java/pr2/enums/verwenden/GameBoard.class
new file mode 100644
index 0000000..f9e659f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/verwenden/GameBoard.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/verwenden/GameMain.class b/solutions/bin/src/main/java/pr2/enums/verwenden/GameMain.class
new file mode 100644
index 0000000..4cfa5c1
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/verwenden/GameMain.class differ
diff --git a/solutions/bin/src/main/java/pr2/enums/verwenden/Professor.class b/solutions/bin/src/main/java/pr2/enums/verwenden/Professor.class
new file mode 100644
index 0000000..18dc7db
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/enums/verwenden/Professor.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/CrypterCaesar.class b/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/CrypterCaesar.class
new file mode 100644
index 0000000..b1acd56
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/CrypterCaesar.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/IllegalKeyException.class b/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/IllegalKeyException.class
new file mode 100644
index 0000000..6bc4b76
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/IllegalKeyException.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/IllegalMessageException.class b/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/IllegalMessageException.class
new file mode 100644
index 0000000..199cac0
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/IllegalMessageException.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/test/CaesarTest.class b/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/test/CaesarTest.class
new file mode 100644
index 0000000..f664493
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/ausnahmen_testen/test/CaesarTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.class b/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.class
new file mode 100644
index 0000000..7565d1c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.class b/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.class
new file mode 100644
index 0000000..d81d2be
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.class b/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.class
new file mode 100644
index 0000000..2730ac8
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/test/FuseTest.class b/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/test/FuseTest.class
new file mode 100644
index 0000000..4240585
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/eigene_ausnahme/test/FuseTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/fakultaet/Fakultaet.class b/solutions/bin/src/main/java/pr2/exceptions/fakultaet/Fakultaet.class
new file mode 100644
index 0000000..ce95735
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/fakultaet/Fakultaet.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/fakultaet/FakultaetException.class b/solutions/bin/src/main/java/pr2/exceptions/fakultaet/FakultaetException.class
new file mode 100644
index 0000000..62e45c7
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/fakultaet/FakultaetException.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/fakultaet/test/FakultaetTest.class b/solutions/bin/src/main/java/pr2/exceptions/fakultaet/test/FakultaetTest.class
new file mode 100644
index 0000000..508fb10
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/fakultaet/test/FakultaetTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/handle_or_declare/Buchstabenzaehler.class b/solutions/bin/src/main/java/pr2/exceptions/handle_or_declare/Buchstabenzaehler.class
new file mode 100644
index 0000000..dda5aff
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/handle_or_declare/Buchstabenzaehler.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/handle_or_declare/StatistikException.class b/solutions/bin/src/main/java/pr2/exceptions/handle_or_declare/StatistikException.class
new file mode 100644
index 0000000..2c53315
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/handle_or_declare/StatistikException.class differ
diff --git a/solutions/bin/src/main/java/pr2/exceptions/try_catch/Zahlenraten.class b/solutions/bin/src/main/java/pr2/exceptions/try_catch/Zahlenraten.class
new file mode 100644
index 0000000..4287eb2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/exceptions/try_catch/Zahlenraten.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/einfach/Liste.class b/solutions/bin/src/main/java/pr2/generics/einfach/Liste.class
new file mode 100644
index 0000000..8d57363
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/einfach/Liste.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/einfach/ListeNode.class b/solutions/bin/src/main/java/pr2/generics/einfach/ListeNode.class
new file mode 100644
index 0000000..86bbf63
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/einfach/ListeNode.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/einfach/test/ListeTest.class b/solutions/bin/src/main/java/pr2/generics/einfach/test/ListeTest.class
new file mode 100644
index 0000000..889e7a1
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/einfach/test/ListeTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/number_pair/Main.class b/solutions/bin/src/main/java/pr2/generics/number_pair/Main.class
new file mode 100644
index 0000000..3582495
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/number_pair/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/number_pair/NumberPair.class b/solutions/bin/src/main/java/pr2/generics/number_pair/NumberPair.class
new file mode 100644
index 0000000..6564ba6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/number_pair/NumberPair.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/number_pair/Pair.class b/solutions/bin/src/main/java/pr2/generics/number_pair/Pair.class
new file mode 100644
index 0000000..33f83f3
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/number_pair/Pair.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/pair/Main.class b/solutions/bin/src/main/java/pr2/generics/pair/Main.class
new file mode 100644
index 0000000..75ccf23
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/pair/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/pair/Pair.class b/solutions/bin/src/main/java/pr2/generics/pair/Pair.class
new file mode 100644
index 0000000..bd9a00e
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/pair/Pair.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/pairlist/Main.class b/solutions/bin/src/main/java/pr2/generics/pairlist/Main.class
new file mode 100644
index 0000000..a610e6a
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/pairlist/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/pairlist/Pair.class b/solutions/bin/src/main/java/pr2/generics/pairlist/Pair.class
new file mode 100644
index 0000000..2663b84
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/pairlist/Pair.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/pairlist/PairList.class b/solutions/bin/src/main/java/pr2/generics/pairlist/PairList.class
new file mode 100644
index 0000000..18c8ee5
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/pairlist/PairList.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/printer/CollectionPrinter.class b/solutions/bin/src/main/java/pr2/generics/printer/CollectionPrinter.class
new file mode 100644
index 0000000..ae8bd1e
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/printer/CollectionPrinter.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/printer/Main.class b/solutions/bin/src/main/java/pr2/generics/printer/Main.class
new file mode 100644
index 0000000..e24cd98
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/printer/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/queue/Queue.class b/solutions/bin/src/main/java/pr2/generics/queue/Queue.class
new file mode 100644
index 0000000..62a0f45
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/queue/Queue.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/same_pair/Main.class b/solutions/bin/src/main/java/pr2/generics/same_pair/Main.class
new file mode 100644
index 0000000..33c677f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/same_pair/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/same_pair/Pair.class b/solutions/bin/src/main/java/pr2/generics/same_pair/Pair.class
new file mode 100644
index 0000000..89fde19
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/same_pair/Pair.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/same_pair/SamePair.class b/solutions/bin/src/main/java/pr2/generics/same_pair/SamePair.class
new file mode 100644
index 0000000..4b1cf63
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/same_pair/SamePair.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/super_extends/Liste.class b/solutions/bin/src/main/java/pr2/generics/super_extends/Liste.class
new file mode 100644
index 0000000..02e31c6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/super_extends/Liste.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/super_extends/ListeNode.class b/solutions/bin/src/main/java/pr2/generics/super_extends/ListeNode.class
new file mode 100644
index 0000000..9087a8d
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/super_extends/ListeNode.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/super_extends/test/ListeTest.class b/solutions/bin/src/main/java/pr2/generics/super_extends/test/ListeTest.class
new file mode 100644
index 0000000..926adbe
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/super_extends/test/ListeTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/verwenden/GameBoard.class b/solutions/bin/src/main/java/pr2/generics/verwenden/GameBoard.class
new file mode 100644
index 0000000..158b544
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/verwenden/GameBoard.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/verwenden/GameMain.class b/solutions/bin/src/main/java/pr2/generics/verwenden/GameMain.class
new file mode 100644
index 0000000..7ebe3e6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/verwenden/GameMain.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/wildcards/ListHelper.class b/solutions/bin/src/main/java/pr2/generics/wildcards/ListHelper.class
new file mode 100644
index 0000000..954f390
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/wildcards/ListHelper.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/wildcards/Main.class b/solutions/bin/src/main/java/pr2/generics/wildcards/Main.class
new file mode 100644
index 0000000..38f6d5d
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/wildcards/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/generics/wildcards/SimpleList.class b/solutions/bin/src/main/java/pr2/generics/wildcards/SimpleList.class
new file mode 100644
index 0000000..d5dc03b
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/generics/wildcards/SimpleList.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/abstrakt_form/Form.class b/solutions/bin/src/main/java/pr2/interfaces/abstrakt_form/Form.class
new file mode 100644
index 0000000..e75d68a
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/abstrakt_form/Form.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Dreieck.class b/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Dreieck.class
new file mode 100644
index 0000000..a73e13b
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Dreieck.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Figur.class b/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Figur.class
new file mode 100644
index 0000000..477c9f6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Figur.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Geometer.class b/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Geometer.class
new file mode 100644
index 0000000..92ed1de
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Geometer.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Kreis.class b/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Kreis.class
new file mode 100644
index 0000000..0bbf0ec
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/abstrakte_klassen_s/Kreis.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/comparable_student/Student.class b/solutions/bin/src/main/java/pr2/interfaces/comparable_student/Student.class
new file mode 100644
index 0000000..c4a2199
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/comparable_student/Student.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/api/AnalogController.class b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/api/AnalogController.class
new file mode 100644
index 0000000..a9319d2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/api/AnalogController.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/api/DigitalController.class b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/api/DigitalController.class
new file mode 100644
index 0000000..f655614
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/api/DigitalController.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/AnalogControllerImpl.class b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/AnalogControllerImpl.class
new file mode 100644
index 0000000..b378567
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/AnalogControllerImpl.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/DigitalControllerImpl.class b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/DigitalControllerImpl.class
new file mode 100644
index 0000000..9ef1bfb
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/DigitalControllerImpl.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/DualShock4.class b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/DualShock4.class
new file mode 100644
index 0000000..6fd97d2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/impl/DualShock4.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/AnalogControllerTest.class b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/AnalogControllerTest.class
new file mode 100644
index 0000000..7b7bea4
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/AnalogControllerTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/DigitalControllerTest.class b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/DigitalControllerTest.class
new file mode 100644
index 0000000..b6cb900
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/DigitalControllerTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/DualShock4Test.class b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/DualShock4Test.class
new file mode 100644
index 0000000..50bb48b
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/interfaces_s/test/DualShock4Test.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/stack/Stack.class b/solutions/bin/src/main/java/pr2/interfaces/stack/Stack.class
new file mode 100644
index 0000000..dda8144
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/stack/Stack.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/stack/StackImpl.class b/solutions/bin/src/main/java/pr2/interfaces/stack/StackImpl.class
new file mode 100644
index 0000000..2e04de7
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/stack/StackImpl.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/stack/test/StackTest.class b/solutions/bin/src/main/java/pr2/interfaces/stack/test/StackTest.class
new file mode 100644
index 0000000..6a5ae6a
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/stack/test/StackTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/Translator.class b/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/Translator.class
new file mode 100644
index 0000000..1ae293c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/Translator.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/Uebersetzer.class b/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/Uebersetzer.class
new file mode 100644
index 0000000..04ddfb6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/Uebersetzer.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/UebersetzerDeutschEnglisch.class b/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/UebersetzerDeutschEnglisch.class
new file mode 100644
index 0000000..689414d
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/UebersetzerDeutschEnglisch.class differ
diff --git a/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/UebersetzerDeutschSpanisch.class b/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/UebersetzerDeutschSpanisch.class
new file mode 100644
index 0000000..79c0ed1
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/interfaces/uebersetzer/UebersetzerDeutschSpanisch.class differ
diff --git a/solutions/bin/src/main/java/pr2/intro/coding_standard/CodingStandard.class b/solutions/bin/src/main/java/pr2/intro/coding_standard/CodingStandard.class
new file mode 100644
index 0000000..e103e93
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/intro/coding_standard/CodingStandard.class differ
diff --git a/solutions/bin/src/main/java/pr2/intro/javadoc/Waehrung.class b/solutions/bin/src/main/java/pr2/intro/javadoc/Waehrung.class
new file mode 100644
index 0000000..24e1c27
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/intro/javadoc/Waehrung.class differ
diff --git a/solutions/bin/src/main/java/pr2/intro/junit_faculty/Fakultaet.class b/solutions/bin/src/main/java/pr2/intro/junit_faculty/Fakultaet.class
new file mode 100644
index 0000000..2750f89
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/intro/junit_faculty/Fakultaet.class differ
diff --git a/solutions/bin/src/main/java/pr2/intro/junit_faculty/test/FakultaetTest.class b/solutions/bin/src/main/java/pr2/intro/junit_faculty/test/FakultaetTest.class
new file mode 100644
index 0000000..cf69cd1
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/intro/junit_faculty/test/FakultaetTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/buffered_reader/LineNumberPrinter.class b/solutions/bin/src/main/java/pr2/io/buffered_reader/LineNumberPrinter.class
new file mode 100644
index 0000000..fd095c0
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/buffered_reader/LineNumberPrinter.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/data_output/Board$Tupel.class b/solutions/bin/src/main/java/pr2/io/data_output/Board$Tupel.class
new file mode 100644
index 0000000..e9311d7
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/data_output/Board$Tupel.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/data_output/Board.class b/solutions/bin/src/main/java/pr2/io/data_output/Board.class
new file mode 100644
index 0000000..2b1c3c2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/data_output/Board.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/data_output/Color.class b/solutions/bin/src/main/java/pr2/io/data_output/Color.class
new file mode 100644
index 0000000..158cc7f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/data_output/Color.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/data_output/test/BoardTest.class b/solutions/bin/src/main/java/pr2/io/data_output/test/BoardTest.class
new file mode 100644
index 0000000..3105a45
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/data_output/test/BoardTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/datainputoutput_1/DateReader.class b/solutions/bin/src/main/java/pr2/io/datainputoutput_1/DateReader.class
new file mode 100644
index 0000000..30eeaa4
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/datainputoutput_1/DateReader.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/datainputoutput_1/DateWriter.class b/solutions/bin/src/main/java/pr2/io/datainputoutput_1/DateWriter.class
new file mode 100644
index 0000000..3b20d61
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/datainputoutput_1/DateWriter.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/datainputoutput_2/DateReader.class b/solutions/bin/src/main/java/pr2/io/datainputoutput_2/DateReader.class
new file mode 100644
index 0000000..07efd67
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/datainputoutput_2/DateReader.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/datainputoutput_2/DateWriter.class b/solutions/bin/src/main/java/pr2/io/datainputoutput_2/DateWriter.class
new file mode 100644
index 0000000..5a9418f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/datainputoutput_2/DateWriter.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/datei_lesen/ReadData.class b/solutions/bin/src/main/java/pr2/io/datei_lesen/ReadData.class
new file mode 100644
index 0000000..d2ae834
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/datei_lesen/ReadData.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/datei_schreiben/WriteData.class b/solutions/bin/src/main/java/pr2/io/datei_schreiben/WriteData.class
new file mode 100644
index 0000000..4b1f4d9
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/datei_schreiben/WriteData.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/datei_schreiben/test/DataTest.class b/solutions/bin/src/main/java/pr2/io/datei_schreiben/test/DataTest.class
new file mode 100644
index 0000000..b778322
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/datei_schreiben/test/DataTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/file/FilesystemWalker.class b/solutions/bin/src/main/java/pr2/io/file/FilesystemWalker.class
new file mode 100644
index 0000000..3b1fe3d
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/file/FilesystemWalker.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/filetest/FileInfo.class b/solutions/bin/src/main/java/pr2/io/filetest/FileInfo.class
new file mode 100644
index 0000000..cd97e3b
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/filetest/FileInfo.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/filter/UCaseReader.class b/solutions/bin/src/main/java/pr2/io/filter/UCaseReader.class
new file mode 100644
index 0000000..adb8919
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/filter/UCaseReader.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/filter/test/UCaseReaderTest.class b/solutions/bin/src/main/java/pr2/io/filter/test/UCaseReaderTest.class
new file mode 100644
index 0000000..5a88478
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/filter/test/UCaseReaderTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/konsole/ConsoleToFile.class b/solutions/bin/src/main/java/pr2/io/konsole/ConsoleToFile.class
new file mode 100644
index 0000000..fa2a47e
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/konsole/ConsoleToFile.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/linecounter/LineCounter.class b/solutions/bin/src/main/java/pr2/io/linecounter/LineCounter.class
new file mode 100644
index 0000000..8647b94
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/linecounter/LineCounter.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/random_access/FileSort.class b/solutions/bin/src/main/java/pr2/io/random_access/FileSort.class
new file mode 100644
index 0000000..78b08a6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/random_access/FileSort.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/random_access/test/FileSortTest.class b/solutions/bin/src/main/java/pr2/io/random_access/test/FileSortTest.class
new file mode 100644
index 0000000..6da9ce0
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/random_access/test/FileSortTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/reader_writer/ReadAndPrintFile.class b/solutions/bin/src/main/java/pr2/io/reader_writer/ReadAndPrintFile.class
new file mode 100644
index 0000000..43d9648
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/reader_writer/ReadAndPrintFile.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/rot13/Rot13.class b/solutions/bin/src/main/java/pr2/io/rot13/Rot13.class
new file mode 100644
index 0000000..7be6be3
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/rot13/Rot13.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/rot13/Rot13Reader.class b/solutions/bin/src/main/java/pr2/io/rot13/Rot13Reader.class
new file mode 100644
index 0000000..3eedd2c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/rot13/Rot13Reader.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/scrambler/Scrambler.class b/solutions/bin/src/main/java/pr2/io/scrambler/Scrambler.class
new file mode 100644
index 0000000..7d9a2fe
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/scrambler/Scrambler.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/serialisierung/Board$Tupel.class b/solutions/bin/src/main/java/pr2/io/serialisierung/Board$Tupel.class
new file mode 100644
index 0000000..188192f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/serialisierung/Board$Tupel.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/serialisierung/Board.class b/solutions/bin/src/main/java/pr2/io/serialisierung/Board.class
new file mode 100644
index 0000000..89c3306
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/serialisierung/Board.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/serialisierung/Color.class b/solutions/bin/src/main/java/pr2/io/serialisierung/Color.class
new file mode 100644
index 0000000..af692e7
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/serialisierung/Color.class differ
diff --git a/solutions/bin/src/main/java/pr2/io/serialisierung/test/BoardTest.class b/solutions/bin/src/main/java/pr2/io/serialisierung/test/BoardTest.class
new file mode 100644
index 0000000..30abb87
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/io/serialisierung/test/BoardTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/anonymous/Alien.class b/solutions/bin/src/main/java/pr2/lambda/anonymous/Alien.class
new file mode 100644
index 0000000..cd69fcc
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/anonymous/Alien.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/anonymous/GameBoard.class b/solutions/bin/src/main/java/pr2/lambda/anonymous/GameBoard.class
new file mode 100644
index 0000000..5be16b1
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/anonymous/GameBoard.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/anonymous/GameMain.class b/solutions/bin/src/main/java/pr2/lambda/anonymous/GameMain.class
new file mode 100644
index 0000000..42bca73
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/anonymous/GameMain.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/array_sorter/ReverseSort.class b/solutions/bin/src/main/java/pr2/lambda/array_sorter/ReverseSort.class
new file mode 100644
index 0000000..5f88906
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/array_sorter/ReverseSort.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/callback/Main.class b/solutions/bin/src/main/java/pr2/lambda/callback/Main.class
new file mode 100644
index 0000000..c9296b8
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/callback/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/callback/NumberSelector.class b/solutions/bin/src/main/java/pr2/lambda/callback/NumberSelector.class
new file mode 100644
index 0000000..2382297
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/callback/NumberSelector.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/callback/Predicate.class b/solutions/bin/src/main/java/pr2/lambda/callback/Predicate.class
new file mode 100644
index 0000000..f93478f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/callback/Predicate.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/comparator/SortLambda.class b/solutions/bin/src/main/java/pr2/lambda/comparator/SortLambda.class
new file mode 100644
index 0000000..0e87ee9
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/comparator/SortLambda.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/lambdas/Main.class b/solutions/bin/src/main/java/pr2/lambda/lambdas/Main.class
new file mode 100644
index 0000000..e331d34
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/lambdas/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/lambdas/NumberSelector.class b/solutions/bin/src/main/java/pr2/lambda/lambdas/NumberSelector.class
new file mode 100644
index 0000000..8a1fa4f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/lambdas/NumberSelector.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/lambdas/Predicate.class b/solutions/bin/src/main/java/pr2/lambda/lambdas/Predicate.class
new file mode 100644
index 0000000..c6fbcab
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/lambdas/Predicate.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/local/Alien.class b/solutions/bin/src/main/java/pr2/lambda/local/Alien.class
new file mode 100644
index 0000000..ebf42c5
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/local/Alien.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/local/GameBoard.class b/solutions/bin/src/main/java/pr2/lambda/local/GameBoard.class
new file mode 100644
index 0000000..bed41a6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/local/GameBoard.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/local/GameMain.class b/solutions/bin/src/main/java/pr2/lambda/local/GameMain.class
new file mode 100644
index 0000000..c4721d3
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/local/GameMain.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/matrixsuche/MatrixSuche$Position.class b/solutions/bin/src/main/java/pr2/lambda/matrixsuche/MatrixSuche$Position.class
new file mode 100644
index 0000000..ceeb064
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/matrixsuche/MatrixSuche$Position.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/matrixsuche/MatrixSuche.class b/solutions/bin/src/main/java/pr2/lambda/matrixsuche/MatrixSuche.class
new file mode 100644
index 0000000..4242caf
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/matrixsuche/MatrixSuche.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/matrixsuche/test/MatrixSucheTest.class b/solutions/bin/src/main/java/pr2/lambda/matrixsuche/test/MatrixSucheTest.class
new file mode 100644
index 0000000..197e16b
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/matrixsuche/test/MatrixSucheTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/StringFunction.class b/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/StringFunction.class
new file mode 100644
index 0000000..514fe2a
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/StringFunction.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/StringTransmogrifier.class b/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/StringTransmogrifier.class
new file mode 100644
index 0000000..9b3b9c3
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/StringTransmogrifier.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/test/StringTransmogrifierTest.class b/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/test/StringTransmogrifierTest.class
new file mode 100644
index 0000000..8475037
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/mogrifier_1/test/StringTransmogrifierTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/StringFunction.class b/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/StringFunction.class
new file mode 100644
index 0000000..dd70f1e
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/StringFunction.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/StringTransmogrifier.class b/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/StringTransmogrifier.class
new file mode 100644
index 0000000..96dd285
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/StringTransmogrifier.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/test/StringTransmogrifierTest.class b/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/test/StringTransmogrifierTest.class
new file mode 100644
index 0000000..f76b3b2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/mogrifier_2/test/StringTransmogrifierTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/nonstatic/Alien.class b/solutions/bin/src/main/java/pr2/lambda/nonstatic/Alien.class
new file mode 100644
index 0000000..3371cf3
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/nonstatic/Alien.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameBoard$Alien.class b/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameBoard$Alien.class
new file mode 100644
index 0000000..c943403
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameBoard$Alien.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameBoard.class b/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameBoard.class
new file mode 100644
index 0000000..82be78c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameBoard.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameMain.class b/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameMain.class
new file mode 100644
index 0000000..333ed48
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/nonstatic/GameMain.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/static_member/Alien.class b/solutions/bin/src/main/java/pr2/lambda/static_member/Alien.class
new file mode 100644
index 0000000..a2260f6
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/static_member/Alien.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/static_member/GameBoard$Alien.class b/solutions/bin/src/main/java/pr2/lambda/static_member/GameBoard$Alien.class
new file mode 100644
index 0000000..25ccfef
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/static_member/GameBoard$Alien.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/static_member/GameBoard.class b/solutions/bin/src/main/java/pr2/lambda/static_member/GameBoard.class
new file mode 100644
index 0000000..4e2176c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/static_member/GameBoard.class differ
diff --git a/solutions/bin/src/main/java/pr2/lambda/static_member/GameMain.class b/solutions/bin/src/main/java/pr2/lambda/static_member/GameMain.class
new file mode 100644
index 0000000..d1de8a4
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/lambda/static_member/GameMain.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/clone_alien/Alien.class b/solutions/bin/src/main/java/pr2/object/clone_alien/Alien.class
new file mode 100644
index 0000000..1ddbf6c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/clone_alien/Alien.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/clone_alien/Raumanzug.class b/solutions/bin/src/main/java/pr2/object/clone_alien/Raumanzug.class
new file mode 100644
index 0000000..9e968e7
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/clone_alien/Raumanzug.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/clone_alien/test/AlienCloneTest.class b/solutions/bin/src/main/java/pr2/object/clone_alien/test/AlienCloneTest.class
new file mode 100644
index 0000000..6111b6a
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/clone_alien/test/AlienCloneTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/clone_person/Person.class b/solutions/bin/src/main/java/pr2/object/clone_person/Person.class
new file mode 100644
index 0000000..29ed237
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/clone_person/Person.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/equals_hashcode/Ork.class b/solutions/bin/src/main/java/pr2/object/equals_hashcode/Ork.class
new file mode 100644
index 0000000..c7b4056
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/equals_hashcode/Ork.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/equals_hashcode/Wesen.class b/solutions/bin/src/main/java/pr2/object/equals_hashcode/Wesen.class
new file mode 100644
index 0000000..dd4f103
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/equals_hashcode/Wesen.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/equals_hashcode/test/WesenTest.class b/solutions/bin/src/main/java/pr2/object/equals_hashcode/test/WesenTest.class
new file mode 100644
index 0000000..eaa6f26
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/equals_hashcode/test/WesenTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/equals_person/Person.class b/solutions/bin/src/main/java/pr2/object/equals_person/Person.class
new file mode 100644
index 0000000..ddf17ca
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/equals_person/Person.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/tostring/Alien.class b/solutions/bin/src/main/java/pr2/object/tostring/Alien.class
new file mode 100644
index 0000000..ed01b63
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/tostring/Alien.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/tostring/Ausgabe.class b/solutions/bin/src/main/java/pr2/object/tostring/Ausgabe.class
new file mode 100644
index 0000000..594e6b4
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/tostring/Ausgabe.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/tostring/Raumanzug.class b/solutions/bin/src/main/java/pr2/object/tostring/Raumanzug.class
new file mode 100644
index 0000000..d8b92ad
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/tostring/Raumanzug.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/wrapper_boxsearch/BoxSearcher.class b/solutions/bin/src/main/java/pr2/object/wrapper_boxsearch/BoxSearcher.class
new file mode 100644
index 0000000..14de92f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/wrapper_boxsearch/BoxSearcher.class differ
diff --git a/solutions/bin/src/main/java/pr2/object/wrapper_umwandler/Umwandler.class b/solutions/bin/src/main/java/pr2/object/wrapper_umwandler/Umwandler.class
new file mode 100644
index 0000000..2ed0817
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/object/wrapper_umwandler/Umwandler.class differ
diff --git a/solutions/bin/src/main/java/pr2/strukturierung/information_hiding/Rechner.class b/solutions/bin/src/main/java/pr2/strukturierung/information_hiding/Rechner.class
new file mode 100644
index 0000000..5a43438
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/strukturierung/information_hiding/Rechner.class differ
diff --git a/solutions/bin/src/main/java/pr2/strukturierung/information_hiding/test/RechnerTest.class b/solutions/bin/src/main/java/pr2/strukturierung/information_hiding/test/RechnerTest.class
new file mode 100644
index 0000000..95055ec
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/strukturierung/information_hiding/test/RechnerTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/finals/A.class b/solutions/bin/src/main/java/pr2/vererbung/finals/A.class
new file mode 100644
index 0000000..0068ef2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/finals/A.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/finals/B.class b/solutions/bin/src/main/java/pr2/vererbung/finals/B.class
new file mode 100644
index 0000000..7037894
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/finals/B.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Figur.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Figur.class
new file mode 100644
index 0000000..a127b53
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Figur.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Main.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Main.class
new file mode 100644
index 0000000..6abfda9
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Rechteck.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Rechteck.class
new file mode 100644
index 0000000..92318d2
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie1/Rechteck.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Figur.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Figur.class
new file mode 100644
index 0000000..f57debe
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Figur.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Main.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Main.class
new file mode 100644
index 0000000..2b75886
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Rechteck.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Rechteck.class
new file mode 100644
index 0000000..b5676f9
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie2/Rechteck.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Dreieck.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Dreieck.class
new file mode 100644
index 0000000..a8e0910
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Dreieck.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Figur.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Figur.class
new file mode 100644
index 0000000..3cf804d
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Figur.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Gerade.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Gerade.class
new file mode 100644
index 0000000..50f824c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Gerade.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Main.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Main.class
new file mode 100644
index 0000000..64f2b0f
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Quadrat.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Quadrat.class
new file mode 100644
index 0000000..869caec
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Quadrat.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Rechteck.class b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Rechteck.class
new file mode 100644
index 0000000..1152618
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/geometrie3/Rechteck.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Nachtelf.class b/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Nachtelf.class
new file mode 100644
index 0000000..ee87e47
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Nachtelf.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Untoter.class b/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Untoter.class
new file mode 100644
index 0000000..5cdde7a
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Untoter.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Wesen.class b/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Wesen.class
new file mode 100644
index 0000000..5a81823
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/Wesen.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/test/WesenTest.class b/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/test/WesenTest.class
new file mode 100644
index 0000000..c053066
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/konstruktoren/test/WesenTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Affe.class b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Affe.class
new file mode 100644
index 0000000..fd79686
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Affe.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Futterstelle.class b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Futterstelle.class
new file mode 100644
index 0000000..528ae7a
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Futterstelle.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Giraffe.class b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Giraffe.class
new file mode 100644
index 0000000..4408380
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Giraffe.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Gorilla.class b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Gorilla.class
new file mode 100644
index 0000000..c670c72
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/Gorilla.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/polymorphie/ZooSimulation.class b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/ZooSimulation.class
new file mode 100644
index 0000000..25be0cb
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/ZooSimulation.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/polymorphie/ZooTier.class b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/ZooTier.class
new file mode 100644
index 0000000..09fa4b5
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/polymorphie/ZooTier.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/singleton_einfach/Singleton.class b/solutions/bin/src/main/java/pr2/vererbung/singleton_einfach/Singleton.class
new file mode 100644
index 0000000..7e22648
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/singleton_einfach/Singleton.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/statics/Spiel.class b/solutions/bin/src/main/java/pr2/vererbung/statics/Spiel.class
new file mode 100644
index 0000000..b95bec8
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/statics/Spiel.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/statics/Wuerfel.class b/solutions/bin/src/main/java/pr2/vererbung/statics/Wuerfel.class
new file mode 100644
index 0000000..13d1237
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/statics/Wuerfel.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/ueberladen_summe/Summator.class b/solutions/bin/src/main/java/pr2/vererbung/ueberladen_summe/Summator.class
new file mode 100644
index 0000000..eb74554
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/ueberladen_summe/Summator.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/ueberladen_summe/test/SummatorTest.class b/solutions/bin/src/main/java/pr2/vererbung/ueberladen_summe/test/SummatorTest.class
new file mode 100644
index 0000000..74eb825
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/ueberladen_summe/test/SummatorTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Amoebe.class b/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Amoebe.class
new file mode 100644
index 0000000..9b57dd9
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Amoebe.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Dackel.class b/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Dackel.class
new file mode 100644
index 0000000..330f8be
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Dackel.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Lebewesen.class b/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Lebewesen.class
new file mode 100644
index 0000000..e47db8c
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Lebewesen.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Main.class b/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Main.class
new file mode 100644
index 0000000..53b203a
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/ueberschreiben_lebewesen/Main.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/vararg_summe/Summator.class b/solutions/bin/src/main/java/pr2/vererbung/vararg_summe/Summator.class
new file mode 100644
index 0000000..59bb0ff
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/vararg_summe/Summator.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/vararg_summe/test/SummatorTest.class b/solutions/bin/src/main/java/pr2/vererbung/vararg_summe/test/SummatorTest.class
new file mode 100644
index 0000000..d7636af
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/vararg_summe/test/SummatorTest.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Dreieck.class b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Dreieck.class
new file mode 100644
index 0000000..1a3e181
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Dreieck.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Figur.class b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Figur.class
new file mode 100644
index 0000000..2af3e13
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Figur.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Gerade.class b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Gerade.class
new file mode 100644
index 0000000..223efcb
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Gerade.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Quadrat.class b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Quadrat.class
new file mode 100644
index 0000000..c604f28
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Quadrat.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Rechteck.class b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Rechteck.class
new file mode 100644
index 0000000..6200ed1
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/Rechteck.class differ
diff --git a/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/test/FigurenTest.class b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/test/FigurenTest.class
new file mode 100644
index 0000000..a4ee6de
Binary files /dev/null and b/solutions/bin/src/main/java/pr2/vererbung/vererbung_geometrie/test/FigurenTest.class differ
diff --git a/sources/.classpath b/sources/.classpath
index 766838c..a807c94 100644
--- a/sources/.classpath
+++ b/sources/.classpath
@@ -1,12 +1,42 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sources/.gitignore b/sources/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/sources/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/sources/.project b/sources/.project
new file mode 100644
index 0000000..8c865d2
--- /dev/null
+++ b/sources/.project
@@ -0,0 +1,23 @@
+
+
+ sources
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.m2e.core.maven2Nature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/sources/.settings/org.eclipse.core.resources.prefs b/sources/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..cf6931b
--- /dev/null
+++ b/sources/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding/=UTF-8
diff --git a/sources/.settings/org.eclipse.jdt.core.prefs b/sources/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..cd7ae0f
--- /dev/null
+++ b/sources/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=17
diff --git a/sources/src/main/java/pr2/auffrischung/labeled_break/ArraySucher.java b/sources/src/main/java/pr2/auffrischung/labeled_break/ArraySucher.java
index 31770ea..ef0cf08 100644
--- a/sources/src/main/java/pr2/auffrischung/labeled_break/ArraySucher.java
+++ b/sources/src/main/java/pr2/auffrischung/labeled_break/ArraySucher.java
@@ -2,18 +2,49 @@ package pr2.auffrischung.labeled_break;
public class ArraySucher {
- /**
- * Sucht das erste Element, dass nicht 0 ist.
- *
- * @param array das Array in dem gesucht werden soll
- * @return {@code true}, wenn ein Element gefunden wird,
- * andernfalls {@code false}.
- */
- public boolean suche(int[][] array) {
- boolean found = false;
+ public static void main(String[] args) {
+ int rows = 3; // Anzahl der Zeilen
+ int columns = 4;
+ int[][] array = new int[rows][columns]; // Erstelle das 2D-Array
- // TODO: Methodenrumpf schreiben
+ // Fülle das Array mit Werten
+ array[0][0] = 0;
+ array[0][1] = 0;
+ array[0][2] = 3;
+ array[0][3] = 4;
- return found;
- }
+ array[1][0] = 5;
+ array[1][1] = 6;
+ array[1][2] = 7;
+ array[1][3] = 8;
+
+ array[2][0] = 9;
+ array[2][1] = 10;
+ array[2][2] = 11;
+ array[2][3] = 12;
+
+ System.out.println(suche(array));
+ }
+
+ /**
+ * Sucht das erste Element, dass nicht 0 ist.
+ *
+ * @param array das Array in dem gesucht werden soll
+ * @return {@code true}, wenn ein Element gefunden wird, andernfalls
+ * {@code false}.
+ */
+ public static boolean suche(int[][] array) {
+ boolean found = false;
+
+ for (int i = 0; i < array.length; i++) {
+ for (int j = 0; j < array[i].length; j++) {
+ if (array[i][j] != 0) {
+ System.out.println(array[i][j]);
+ return true;
+ }
+ }
+ }
+
+ return found;
+ }
}
diff --git a/sources/src/main/java/pr2/vererbung/konstruktoren/Nachtelf.java b/sources/src/main/java/pr2/vererbung/konstruktoren/Nachtelf.java
index 2d651fd..ff7bad7 100644
--- a/sources/src/main/java/pr2/vererbung/konstruktoren/Nachtelf.java
+++ b/sources/src/main/java/pr2/vererbung/konstruktoren/Nachtelf.java
@@ -3,7 +3,7 @@ package pr2.vererbung.konstruktoren;
/**
* Nachtelf aus der Allianz.
*/
- public class Nachtelf {
+ public class Nachtelf extends Wesen {
/**
* Standardmäßige Stärke der Fähigkeit Naturwiderstand.
@@ -15,7 +15,14 @@ package pr2.vererbung.konstruktoren;
*/
private int naturwiderstand;
- // TODO: Konstruktoren implementieren
+ public Nachtelf(String name, int staerke) {
+ super(name);
+ this.naturwiderstand = staerke;
+ }
+
+ public Nachtelf(String name) {
+ this(name, STANDARD_NATURWIDERSTAND);
+ }
/**
* Stärke des Naturwiderstandes.
diff --git a/sources/src/main/java/pr2/vererbung/konstruktoren/Untoter.java b/sources/src/main/java/pr2/vererbung/konstruktoren/Untoter.java
index 214f654..1eda14b 100644
--- a/sources/src/main/java/pr2/vererbung/konstruktoren/Untoter.java
+++ b/sources/src/main/java/pr2/vererbung/konstruktoren/Untoter.java
@@ -3,7 +3,7 @@ package pr2.vererbung.konstruktoren;
/**
* Untoter aus der Horde.
*/
- public class Untoter {
+ public class Untoter extends Wesen {
/**
* Standardmäßige Stärke der Fähigkeit zur Unterwasseratmung.
@@ -15,7 +15,14 @@ package pr2.vererbung.konstruktoren;
*/
private int unterwasseratmung;
- // TODO: Konstruktoren implementieren
+ public Untoter(String name, int staerke) {
+ super(name);
+ this.unterwasseratmung = staerke;
+ }
+
+ public Untoter(String name) {
+ this(name, STANDARD_UNTERWASSERATMUNG);
+ }
/**
* Fähigkeit zur Unterwasseratmnung.
diff --git a/sources/src/main/java/pr2/vererbung/konstruktoren/test/WesenTest.java b/sources/src/main/java/pr2/vererbung/konstruktoren/test/WesenTest.java
index 1732f9e..4ad3391 100644
--- a/sources/src/main/java/pr2/vererbung/konstruktoren/test/WesenTest.java
+++ b/sources/src/main/java/pr2/vererbung/konstruktoren/test/WesenTest.java
@@ -19,15 +19,15 @@ public class WesenTest {
@Test
void testNachtelf() {
// TODO: Einkommentieren
-// assertTrue(new Nachtelf("") instanceof Wesen,
-// "Nachtelf erbt nicht " + "von Wesen");
-//
-// assertEquals(Nachtelf.STANDARD_NATURWIDERSTAND,
-// new Nachtelf("").getNaturwiderstand());
-//
-// assertEquals(120, new Nachtelf("", 120).getNaturwiderstand());
-//
-// assertEquals("Hugo", new Nachtelf("Hugo").getName());
+ assertTrue(new Nachtelf("") instanceof Wesen,
+ "Nachtelf erbt nicht " + "von Wesen");
+
+ assertEquals(Nachtelf.STANDARD_NATURWIDERSTAND,
+ new Nachtelf("").getNaturwiderstand());
+
+ assertEquals(120, new Nachtelf("", 120).getNaturwiderstand());
+
+ assertEquals("Hugo", new Nachtelf("Hugo").getName());
}
/**
@@ -36,14 +36,14 @@ public class WesenTest {
@Test
void testUntoten() {
// TODO: Einkommentieren
-// assertTrue(new Untoter("") instanceof Wesen,
-// "Untoter erbt nicht von " + "Wesen");
-//
-// assertEquals(Untoter.STANDARD_UNTERWASSERATMUNG,
-// new Untoter("").getUnterwasseratmung());
-//
-// assertEquals(120, new Untoter("", 120).getUnterwasseratmung());
-//
-// assertEquals("Hugo", new Untoter("Hugo").getName());
+ assertTrue(new Untoter("") instanceof Wesen,
+ "Untoter erbt nicht von " + "Wesen");
+
+ assertEquals(Untoter.STANDARD_UNTERWASSERATMUNG,
+ new Untoter("").getUnterwasseratmung());
+
+ assertEquals(120, new Untoter("", 120).getUnterwasseratmung());
+
+ assertEquals("Hugo", new Untoter("Hugo").getName());
}
}
diff --git a/sources/src/main/java/pr2/vererbung/polymorphie/Futterstelle.java b/sources/src/main/java/pr2/vererbung/polymorphie/Futterstelle.java
index c5cc781..841002d 100644
--- a/sources/src/main/java/pr2/vererbung/polymorphie/Futterstelle.java
+++ b/sources/src/main/java/pr2/vererbung/polymorphie/Futterstelle.java
@@ -11,8 +11,8 @@ public class Futterstelle {
*
* @param affe Affe, der gefüttert werden soll.
*/
- public void gibFutter(Affe affe) {
- affe.fuettern();
+ public void gibFutter(ZooTier tier) {
+ tier.fuettern();
}
/**
@@ -20,16 +20,16 @@ public class Futterstelle {
*
* @param gorilla Gorilla, der gefüttert werden soll.
*/
- public void gibFutter(Gorilla gorilla) {
- gorilla.fuettern();
- }
+// public void gibFutter(Gorilla gorilla) {
+// gorilla.fuettern();
+// }
/**
* Füttert die Giraffe.
*
* @param giraffe Giraffe, die gefüttert werden soll.
*/
- public void gibFutter(Giraffe giraffe) {
- giraffe.fuettern();
- }
+// public void gibFutter(Giraffe giraffe) {
+// giraffe.fuettern();
+// }
}
diff --git a/sources/src/main/java/pr2/vererbung/polymorphie/ZooSimulation.java b/sources/src/main/java/pr2/vererbung/polymorphie/ZooSimulation.java
index 8e00527..67db68a 100644
--- a/sources/src/main/java/pr2/vererbung/polymorphie/ZooSimulation.java
+++ b/sources/src/main/java/pr2/vererbung/polymorphie/ZooSimulation.java
@@ -5,37 +5,36 @@ package pr2.vererbung.polymorphie;
*/
public final class ZooSimulation {
- /**
- * Konstruktor.
- */
- private ZooSimulation() {
- // keine Objekte benötigt
- }
+ /**
+ * Konstruktor.
+ */
+ private ZooSimulation() {
+ // keine Objekte benötigt
+ }
- /**
- * Main-Methode.
- *
- * @param args Kommandozeilen-Argumente.
- */
- public static void main(String[] args) {
- Futterstelle futterstelle = new Futterstelle();
+ /**
+ * Main-Methode.
+ *
+ * @param args Kommandozeilen-Argumente.
+ */
+ public static void main(String[] args) {
+ Futterstelle futterstelle = new Futterstelle();
- Affe charlie = new Affe("Charlie");
- Gorilla buck = new Gorilla("Buck");
- Giraffe debbie = new Giraffe("Debbie");
+ ZooTier[] zooArr = new ZooTier[] { new Affe("Charlie"), new Gorilla("Vicky"), new Giraffe("Tobi") };
- System.out.println(charlie);
- System.out.println(buck);
- System.out.println(debbie);
+ for (ZooTier tier : zooArr) {
+ System.out.println(tier);
+ }
- System.out.println("Fütterung...");
+ System.out.println("Fütterung...");
+
+ for (ZooTier tier : zooArr) {
+ futterstelle.gibFutter(tier);
+ }
- futterstelle.gibFutter(charlie);
- futterstelle.gibFutter(buck);
- futterstelle.gibFutter(debbie);
+ for (ZooTier tier : zooArr) {
+ System.out.println(tier);
+ }
- System.out.println(charlie);
- System.out.println(buck);
- System.out.println(debbie);
- }
+ }
}
diff --git a/sources/src/main/java/pr2/vererbung/singleton_einfach/Singleton.java b/sources/src/main/java/pr2/vererbung/singleton_einfach/Singleton.java
index 313fcc7..eda2217 100644
--- a/sources/src/main/java/pr2/vererbung/singleton_einfach/Singleton.java
+++ b/sources/src/main/java/pr2/vererbung/singleton_einfach/Singleton.java
@@ -1,5 +1,12 @@
package pr2.vererbung.singleton_einfach;
public class Singleton {
+ private static Singleton instance = new Singleton();
+
+ private Singleton() {}
+
+ public static Singleton getInstance() {
+ return instance;
+ }
}
diff --git a/sources/src/main/java/pr2/vererbung/statics/Spiel.java b/sources/src/main/java/pr2/vererbung/statics/Spiel.java
index 3b76b5e..fc349b5 100644
--- a/sources/src/main/java/pr2/vererbung/statics/Spiel.java
+++ b/sources/src/main/java/pr2/vererbung/statics/Spiel.java
@@ -28,10 +28,9 @@ public final class Spiel {
}
// Statistik ausgeben
- System.out.println("Statistik für Würfel 1");
- System.out.println(wuerfel1.statistik());
+ System.out.println("Statistik für alle Würfel");
+ System.out.println(Wuerfel.statistik());
System.out.println();
- System.out.println("Statistik für Würfel 2");
- System.out.println(wuerfel2.statistik());
+
}
}
diff --git a/sources/src/main/java/pr2/vererbung/statics/Wuerfel.java b/sources/src/main/java/pr2/vererbung/statics/Wuerfel.java
index 5c3fc2e..93a615a 100644
--- a/sources/src/main/java/pr2/vererbung/statics/Wuerfel.java
+++ b/sources/src/main/java/pr2/vererbung/statics/Wuerfel.java
@@ -7,38 +7,42 @@ import java.util.Random;
*/
public class Wuerfel {
- /** Häufigkeit der Werte. */
- private int[] haeufigkeit = new int[6];
+ /** Häufigkeit der Werte. */
+ private static final int[] HAEUFIGKEIT = new int[6];
- /** Zufallsgenerator. */
- private Random random = new Random();
+ /** Anzahl der Würfe mit dem Würfel. */
+ private static int wuerfe = 0;
- /**
- * Bestimmt den nächsten Wurf.
- *
- * @return der Wurf.
- */
- public int wuerfele() {
- int wert = random.nextInt(6);
- haeufigkeit[wert]++;
- return wert + 1;
- }
+ /** Zufallsgenerator. */
+ private final Random random = new Random();
- /**
- * Gibt die Häufigkeit der Würfe zurück.
- *
- * @return die Statistik mit der Häufigkeit.
- */
- public String statistik() {
- StringBuilder result = new StringBuilder();
+ /**
+ * Bestimmt den nächsten Wurf.
+ *
+ * @return der Wurf.
+ */
+ public int wuerfele() {
+ int wert = random.nextInt(6);
+ HAEUFIGKEIT[wert]++;
+ wuerfe++;
+ return wert + 1;
+ }
- for (int i = 0; i < haeufigkeit.length; i++) {
- result.append(i + 1)
- .append(": ")
- .append(haeufigkeit[i])
- .append("\n");
- }
+ /**
+ * Gibt die Häufigkeit der Würfe zurück.
+ *
+ * @return die Statistik mit der Häufigkeit.
+ */
+ public static String statistik() {
+ StringBuilder result = new StringBuilder();
- return result.toString();
- }
+ for (int i = 0; i < HAEUFIGKEIT.length; i++) {
+ result.append(i + 1).append(": ").append(String.format("%.2f %%", ((double) HAEUFIGKEIT[i] / wuerfe) * 100))
+ .append("\n");
+ }
+
+ result.append("Summe: ").append(wuerfe).append("\n");
+
+ return result.toString();
+ }
}