From 602c601eb7289a4ac4c2254689af0ad29f6e1121 Mon Sep 17 00:00:00 2001 From: Johannes Theiner Date: Thu, 5 Apr 2018 17:10:11 +0200 Subject: [PATCH] =?UTF-8?q?aufger=C3=A4umt=20&=20Sieb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- java2.iml | 19 ---------- pom.xml | 10 ++--- .../praktikum1/GrosseZahl.java | 2 +- .../de/joethei/hs/java2/vorlesungen/Sieb.java | 38 +++++++++++++++++++ .../hs/java2/tests/GrosseZahlTest.java | 3 +- .../hs/java2/tests/GrosseZahlTest2.java | 7 ++-- .../hs/java2/tests/VorlesungsTest.java | 19 ++++++++++ 7 files changed, 69 insertions(+), 29 deletions(-) delete mode 100644 java2.iml rename src/main/java/de/joethei/hs/java2/{ => praktikum}/praktikum1/GrosseZahl.java (99%) create mode 100644 src/main/java/de/joethei/hs/java2/vorlesungen/Sieb.java create mode 100644 src/test/java/de/joethei/hs/java2/tests/VorlesungsTest.java diff --git a/java2.iml b/java2.iml deleted file mode 100644 index 49d60fe..0000000 --- a/java2.iml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 822f615..b67b0f9 100644 --- a/pom.xml +++ b/pom.xml @@ -55,11 +55,11 @@ test - org.junit.jupiter - junit-jupiter-engine - 5.1.0 - test - + org.junit.jupiter + junit-jupiter-engine + 5.1.0 + test + org.junit.vintage junit-vintage-engine diff --git a/src/main/java/de/joethei/hs/java2/praktikum1/GrosseZahl.java b/src/main/java/de/joethei/hs/java2/praktikum/praktikum1/GrosseZahl.java similarity index 99% rename from src/main/java/de/joethei/hs/java2/praktikum1/GrosseZahl.java rename to src/main/java/de/joethei/hs/java2/praktikum/praktikum1/GrosseZahl.java index eb6402d..defaa3e 100644 --- a/src/main/java/de/joethei/hs/java2/praktikum1/GrosseZahl.java +++ b/src/main/java/de/joethei/hs/java2/praktikum/praktikum1/GrosseZahl.java @@ -1,4 +1,4 @@ -package de.joethei.hs.java2.praktikum1; +package de.joethei.hs.java2.praktikum.praktikum1; public class GrosseZahl { diff --git a/src/main/java/de/joethei/hs/java2/vorlesungen/Sieb.java b/src/main/java/de/joethei/hs/java2/vorlesungen/Sieb.java new file mode 100644 index 0000000..34554f5 --- /dev/null +++ b/src/main/java/de/joethei/hs/java2/vorlesungen/Sieb.java @@ -0,0 +1,38 @@ +package de.joethei.hs.java2.vorlesungen; + +import java.util.Set; +import java.util.TreeSet; + +public class Sieb { + private int n; + + public Sieb(int n) { + this.n = n; + } + + public Set getPrimzahl() { + Set set = new TreeSet<>(); + for(int i = 2; i <= n; i++) { + set.add(i); + } + Set not = new TreeSet<>(); + int mult; + int number = 2; + do{ + mult = 2*number; + while (mult <= n) { + not.add(mult); + mult += number; + } + do { + number++; + } + while (not.contains(number)); + }while (number * number <= n); + set.removeAll(not); + + return set; + } + + +} \ No newline at end of file diff --git a/src/test/java/de/joethei/hs/java2/tests/GrosseZahlTest.java b/src/test/java/de/joethei/hs/java2/tests/GrosseZahlTest.java index cfff205..feca862 100644 --- a/src/test/java/de/joethei/hs/java2/tests/GrosseZahlTest.java +++ b/src/test/java/de/joethei/hs/java2/tests/GrosseZahlTest.java @@ -1,11 +1,12 @@ package de.joethei.hs.java2.tests; -import de.joethei.hs.java2.praktikum1.GrosseZahl; +import de.joethei.hs.java2.praktikum.praktikum1.GrosseZahl; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; +@DisplayName("Eigene GrosseZahl") class GrosseZahlTest { @Test diff --git a/src/test/java/de/joethei/hs/java2/tests/GrosseZahlTest2.java b/src/test/java/de/joethei/hs/java2/tests/GrosseZahlTest2.java index 44c1a76..4f02d4c 100644 --- a/src/test/java/de/joethei/hs/java2/tests/GrosseZahlTest2.java +++ b/src/test/java/de/joethei/hs/java2/tests/GrosseZahlTest2.java @@ -1,11 +1,12 @@ package de.joethei.hs.java2.tests; -import static org.junit.Assert.*; - -import de.joethei.hs.java2.praktikum1.GrosseZahl; +import de.joethei.hs.java2.praktikum.praktikum1.GrosseZahl; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + public class GrosseZahlTest2 { GrosseZahl i0; diff --git a/src/test/java/de/joethei/hs/java2/tests/VorlesungsTest.java b/src/test/java/de/joethei/hs/java2/tests/VorlesungsTest.java new file mode 100644 index 0000000..2ead880 --- /dev/null +++ b/src/test/java/de/joethei/hs/java2/tests/VorlesungsTest.java @@ -0,0 +1,19 @@ +package de.joethei.hs.java2.tests; + +import de.joethei.hs.java2.vorlesungen.Sieb; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.Set; +import java.util.TreeSet; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class VorlesungsTest { + + @Test + void sieb() { + Set set = new TreeSet<>(Arrays.asList(2, 3, 5, 7, 11, 13, 17, 19)); + assertEquals(set, new Sieb(20).getPrimzahl()); + } +} \ No newline at end of file