diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/prog3.iml b/prog3.iml index c90834f..5d03939 100644 --- a/prog3.iml +++ b/prog3.iml @@ -4,8 +4,11 @@ + + + \ No newline at end of file diff --git a/src/praktikum01/Zahlenfilter.java b/src/praktikum01/Zahlenfilter.java index fe39047..0e6f3bd 100644 --- a/src/praktikum01/Zahlenfilter.java +++ b/src/praktikum01/Zahlenfilter.java @@ -23,6 +23,7 @@ public class Zahlenfilter { } catch (NumberFormatException e) { // Fehlermeldung, wenn das Argument keine gültige Zahl ist System.out.println("Fehler: Bitte eine gültige Zahl als Programmargument eingeben."); + return; // Programm beenden } } diff --git a/src/praktikum02/TriangleChecker.java b/src/praktikum02/TriangleChecker.java new file mode 100644 index 0000000..114481a --- /dev/null +++ b/src/praktikum02/TriangleChecker.java @@ -0,0 +1,56 @@ +package praktikum02; + +import java.util.Scanner; + +public class TriangleChecker { + + public enum TriangleType { + NONE, + NORMAL, + ISOSCELES, // Gleichschenklig + EQUILATERAL // Gleichseitig + } + + + public static void main(String[] args) { + Scanner s = new Scanner(System.in); + System.out.println("Geben Sie die Seitenlängen ein."); + float a = enterFloat(s, "a: "); + float b = enterFloat(s, "b: "); + float c = enterFloat(s, "c: "); + s.close(); + printAnalysis(a, b, c); + } + + // Eingabe einer Seitenlänge + private static float enterFloat(Scanner s, String prompt) { + System.out.print(prompt); + return s.nextFloat(); + } + + // Ausgabe der ermittelten Dreiecksart + private static void printAnalysis(float a, float b, float c) { + TriangleType type = checkTriangle(a, b, c); + switch (type) { + case NONE: + System.out.println("Kein Dreieck"); + break; + case NORMAL: + System.out.println("Dreieck"); + break; + case ISOSCELES: + System.out.println("Gleichschenkliges Dreieck"); + break; + case EQUILATERAL: + System.out.println("Gleichseitiges Dreieck"); + break; + } + } + + // Analyse der Dreiecksart + public static TriangleType checkTriangle(float a, float b, float c) { + return TriangleType.NORMAL; + } + + +} \ No newline at end of file diff --git a/src/praktikum02/Zahlenfilter02.java b/src/praktikum02/Zahlenfilter02.java new file mode 100644 index 0000000..7d33fc6 --- /dev/null +++ b/src/praktikum02/Zahlenfilter02.java @@ -0,0 +1,63 @@ +package praktikum02; + +//Zahlenfilter +public class Zahlenfilter02 { + + private int start; + + private int end; + + public Zahlenfilter02(int s, int e) { + start = s; + end = e; + } + + public static void main(String[] args) { + // Standardendwert ist 200, falls keine Argumente übergeben werden + int end = 200; + + // Überprüfen, ob ein Programmargument übergeben wurde + if (args.length > 0) { + try { + // Versuchen, das Argument in eine Zahl umzuwandeln + end = Integer.parseInt(args[0]); + } catch (NumberFormatException e) { + // Fehlermeldung, wenn das Argument keine gültige Zahl ist + System.out.println("Fehler: Bitte eine gültige Zahl als Programmargument eingeben."); + } + } + + Zahlenfilter02 zf = new Zahlenfilter02(1, end); + zf.printNumbers(); + } + + private void printNumbers() { + for (int i = 1; i <= end; i++) { + if (filter(i)) + System.out.print(i + " "); + } + } + + public static boolean filter(int number) { + return !(checkDivByFive(number) || checkEndsWithNine(number) || checkSumDivByThree(number)); + } + + public static boolean checkDivByFive(int number) { + // Wenn durch 5 Teilbar + return (number % 5 == 0); + } + + public static boolean checkEndsWithNine(int number) { + // Wenn Zahl auf 9 endet + return (number % 10 == 9); + } + + public static boolean checkSumDivByThree(int number) { + int vorgaenger = number - 1; + int summe = number + vorgaenger; + + + // Überprüfen, ob die Summe durch 3 teilbar ist + return (summe % 3 == 0); + } +} \ No newline at end of file diff --git a/test/praktikum02/TriangleCheckerTest.java b/test/praktikum02/TriangleCheckerTest.java new file mode 100644 index 0000000..585868c --- /dev/null +++ b/test/praktikum02/TriangleCheckerTest.java @@ -0,0 +1,13 @@ +package praktikum02; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class TriangleCheckerTest { + + @Test + void checkTriangleNormal() { + assertEquals(TriangleChecker.TriangleType.NORMAL,TriangleChecker.checkTriangle( 10 ,5,6) ); + } +} \ No newline at end of file diff --git a/test/praktikum02/Zahlenfilter02Test.java b/test/praktikum02/Zahlenfilter02Test.java new file mode 100644 index 0000000..9b257d5 --- /dev/null +++ b/test/praktikum02/Zahlenfilter02Test.java @@ -0,0 +1,30 @@ +package praktikum02; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.*; + +class Zahlenfilter02Test { + + @Test + void filter() { + } + + @Test + void checkDivByFive() { + assertTrue( Zahlenfilter02.checkDivByFive( 5 ) ); + assertFalse( Zahlenfilter02.checkDivByFive( 6 ) ); + } + + @Test + void checkEndsWithNine() { + assertTrue( Zahlenfilter02.checkEndsWithNine( 9 ) ); + assertFalse( Zahlenfilter02.checkEndsWithNine( 10 ) ); + } + + @Test + void checkSumDivByThree() { + assertTrue( Zahlenfilter02.checkSumDivByThree( 2 ) ); + assertFalse( Zahlenfilter02.checkSumDivByThree( 7 ) ); + } +} \ No newline at end of file