diff --git a/Prog3.iml b/Prog3.iml
index c90834f..5dfd50f 100644
--- a/Prog3.iml
+++ b/Prog3.iml
@@ -4,8 +4,10 @@
+
+
\ No newline at end of file
diff --git a/src/Praktikum03/Zahlenfilter.java b/src/Praktikum03/Zahlenfilter.java
new file mode 100644
index 0000000..70d439c
--- /dev/null
+++ b/src/Praktikum03/Zahlenfilter.java
@@ -0,0 +1,43 @@
+package Praktikum03;
+
+
+public class Zahlenfilter {
+
+ public static void main(String[] args) {
+ int upper_limit = 200;
+ if (args.length > 0)
+ upper_limit = Integer.parseInt(args[0]);
+ Zahlenfilter z = new Zahlenfilter(upper_limit);
+ z.printNumber();
+ }
+
+ private int boundary;
+
+ private Zahlenfilter(int limit){
+ boundary = limit;
+ }
+
+ private void printNumber(){
+ for(int i = 1; i <=boundary; i++){
+ if(filter(i))
+ System.out.println(i);
+ }
+ }
+
+ public static boolean filter(int i){
+ return !(checkDivisibleBy5(i) || checkEndsWith9(i) || checkSumDivisibleBy3(i, i-1));
+ }
+
+ public static boolean checkDivisibleBy5(int i) {
+ return(i % 5 == 0);
+
+ }
+
+ public static boolean checkEndsWith9(int i){
+ return(i % 10 == 9);
+ }
+
+ public static boolean checkSumDivisibleBy3(int i, int j){
+ return((i+j) % 3 == 0);
+ }
+}
diff --git a/test/Praktikum03/ZahlenfilterTest.java b/test/Praktikum03/ZahlenfilterTest.java
new file mode 100644
index 0000000..019ea0a
--- /dev/null
+++ b/test/Praktikum03/ZahlenfilterTest.java
@@ -0,0 +1,66 @@
+package Praktikum03;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class ZahlenfilterTest {
+
+ @Test
+ void filter() {
+ }
+
+ @Test
+ void checkDivisibleBy5() {
+ int i = 15;
+
+ boolean result = Zahlenfilter.checkDivisibleBy5(i);
+
+ assertTrue(result);
+ }
+
+ @Test
+ void checkNotDivisibleBy5() {
+ int i = 12;
+
+ boolean result = Zahlenfilter.checkDivisibleBy5(i);
+
+ assertFalse(result);
+ }
+
+ @Test
+ void checkEndsWith9() {
+ int i = 29;
+
+ boolean result = Zahlenfilter.checkEndsWith9(i);
+
+ assertTrue(result);
+ }
+
+ @Test
+ void checkEndsNotWith9() {
+ int i = 28;
+
+ boolean result = Zahlenfilter.checkEndsWith9(i);
+
+ assertFalse(result);
+ }
+
+ @Test
+ void checkSumDivisibleBy3() {
+ int i = 5;
+
+ boolean result = Zahlenfilter.checkSumDivisibleBy3(i, i-1);
+
+ assertTrue(result);
+ }
+
+ @Test
+ void checkSumNotDivisibleBy3() {
+ int i = 3;
+
+ boolean result = Zahlenfilter.checkSumDivisibleBy3(i, i-1);
+
+ assertFalse(result);
+ }
+}
\ No newline at end of file