From ee07f5e279e6d0efcd1675fafed06b8d9c8f9f1d Mon Sep 17 00:00:00 2001 From: leonmcfly Date: Tue, 21 Nov 2023 15:27:57 +0100 Subject: [PATCH] =?UTF-8?q?ge=C3=A4ndert=20am=2021.11.2023=20um=2015:27?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Prog3.iml | 2 + src/Praktikum03/Zahlenfilter.java | 43 +++++++++++++++++ test/Praktikum03/ZahlenfilterTest.java | 66 ++++++++++++++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 src/Praktikum03/Zahlenfilter.java create mode 100644 test/Praktikum03/ZahlenfilterTest.java 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