diff --git a/erledigt.txt b/erledigt.txt new file mode 100644 index 0000000..2418b2e --- /dev/null +++ b/erledigt.txt @@ -0,0 +1,3 @@ +- Abstrakte Klassen 1 +- Abstrakte Klassen 2 +- Ausnahmen 1 diff --git a/solutions/.classpath b/solutions/.classpath new file mode 100644 index 0000000..8611e96 --- /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..a8f8209 --- /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..f9fe345 --- /dev/null +++ b/solutions/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/test/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..de927f3 --- /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=23 +org.eclipse.jdt.core.compiler.compliance=23 +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=23 diff --git a/solutions/target/classes/META-INF/maven/de.hs_mannheim.pr2/solutions/pom.properties b/solutions/target/classes/META-INF/maven/de.hs_mannheim.pr2/solutions/pom.properties index 78b670d..5521e1e 100644 --- a/solutions/target/classes/META-INF/maven/de.hs_mannheim.pr2/solutions/pom.properties +++ b/solutions/target/classes/META-INF/maven/de.hs_mannheim.pr2/solutions/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Thu May 28 13:24:31 CEST 2026 +#Thu May 28 13:47:54 CEST 2026 artifactId=solutions groupId=de.hs_mannheim.pr2 m2e.projectLocation=/home/mainuser/programming/java/uebungen/solutions diff --git a/sources/src/main/java/pr2/interfaces/abstrakt_form/Form.java b/sources/src/main/java/pr2/interfaces/abstrakt_form/Form.java index aec8d11..8094214 100644 --- a/sources/src/main/java/pr2/interfaces/abstrakt_form/Form.java +++ b/sources/src/main/java/pr2/interfaces/abstrakt_form/Form.java @@ -1,5 +1,16 @@ package pr2.interfaces.abstrakt_form; -public class Form { +public abstract class Form { + + protected double xPos; + protected double yPos; + + public Form(double x, double y) { + this.xPos = x; + this.yPos = y; + } + + public abstract double flaeche(); + public abstract double umfang(); } diff --git a/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Dreieck.java b/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Dreieck.java index ec46aa8..01733a0 100644 --- a/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Dreieck.java +++ b/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Dreieck.java @@ -3,7 +3,7 @@ package pr2.interfaces.abstrakte_klassen_e; /** * Ein Dreieck. */ -public class Dreieck { +public class Dreieck extends Figur { /** Grundseite des Dreiecks. */ private double grundseite; diff --git a/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Figur.java b/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Figur.java new file mode 100644 index 0000000..cffd195 --- /dev/null +++ b/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Figur.java @@ -0,0 +1,8 @@ +package pr2.interfaces.abstrakte_klassen_e; + +public abstract class Figur { + + + public abstract double flaeche(); + +} diff --git a/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Geometer.java b/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Geometer.java index 4ab8ff3..79472d9 100644 --- a/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Geometer.java +++ b/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Geometer.java @@ -16,30 +16,26 @@ public final class Geometer { * @param args Kommandozeilenargumente */ public static void main(String[] args) { - Kreis[] kreise = new Kreis[5]; - Dreieck[] dreiecke = new Dreieck[5]; + Figur[] figuren = new Figur[10]; - kreise[0] = new Kreis(10.0); - kreise[1] = new Kreis(5.5); - kreise[2] = new Kreis(3.3); - kreise[3] = new Kreis(7.2); - kreise[4] = new Kreis(8.0); + figuren[0] = new Kreis(10.0); + figuren[1] = new Kreis(5.5); + figuren[2] = new Kreis(3.3); + figuren[3] = new Kreis(7.2); + figuren[4] = new Kreis(8.0); - dreiecke[0] = new Dreieck(4.0, 3.0); - dreiecke[1] = new Dreieck(2.0, 1.0); - dreiecke[2] = new Dreieck(5.0, 8.0); - dreiecke[3] = new Dreieck(2.0, 7.2); - dreiecke[4] = new Dreieck(14.0, 3.8); + figuren[5] = new Dreieck(4.0, 3.0); + figuren[6] = new Dreieck(2.0, 1.0); + figuren[7] = new Dreieck(5.0, 8.0); + figuren[8] = new Dreieck(2.0, 7.2); + figuren[9] = new Dreieck(14.0, 3.8); double gesamtflaeche = 0.0; - for (Kreis kreis : kreise) { - gesamtflaeche += kreis.flaeche(); + for (Figur fig : figuren) { + gesamtflaeche += fig.flaeche(); } - for (Dreieck dreieck : dreiecke) { - gesamtflaeche += dreieck.flaeche(); - } System.out.printf("Die Fläche beträgt: %.2f", gesamtflaeche); } diff --git a/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Kreis.java b/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Kreis.java index 1565721..053ac6e 100644 --- a/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Kreis.java +++ b/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Kreis.java @@ -3,7 +3,7 @@ package pr2.interfaces.abstrakte_klassen_e; /** * Ein Kreis. */ -public class Kreis { +public class Kreis extends Figur { /** Radius des Kreises. */ private double radius; diff --git a/sources/src/test/java/pr2/exceptions/ausnahmen_testen/test/CaesarTest.java b/sources/src/test/java/pr2/exceptions/ausnahmen_testen/test/CaesarTest.java index a821a0b..40ac784 100644 --- a/sources/src/test/java/pr2/exceptions/ausnahmen_testen/test/CaesarTest.java +++ b/sources/src/test/java/pr2/exceptions/ausnahmen_testen/test/CaesarTest.java @@ -32,5 +32,75 @@ public class CaesarTest { assertEquals(klarText, c.decrypt("C", c.encrypt("C", klarText))); assertEquals("FDHVDU", c.encrypt("C", "CAESAR")); assertEquals(klarText, c.encrypt("Z", klarText)); + + String wrongKeyMult = "AB"; + String wrongKeyLower = "f"; + + try { + c.decrypt(wrongKeyMult, klarText); + fail(); + } catch (IllegalKeyException ex) { + assertTrue(true); + } catch (Exception ex) { + fail(); + } + + try { + c.decrypt(wrongKeyMult, klarText); + fail(); + } catch (IllegalKeyException ex) { + assertTrue(true); + } catch (Exception ex) { + fail(); + } + + try { + c.encrypt(wrongKeyMult, klarText); + fail(); + } catch (IllegalKeyException ex) { + assertTrue(true); + } catch (Exception ex) { + fail(); + } + + String legalKey = "H"; + String wrongTextSpace = "ASDRE DESNK"; + String wrongTextLower = "ASERgSEOIN"; + + try { + c.decrypt(legalKey, wrongTextSpace); + fail(); + } catch (IllegalMessageException ex) { + assertTrue(true); + } catch (Exception ex) { + fail(); + } + + try { + c.decrypt(legalKey, wrongTextSpace); + fail(); + } catch (IllegalMessageException ex) { + assertTrue(true); + } catch (Exception ex) { + fail(); + } + + try { + c.encrypt(legalKey, wrongTextLower); + fail(); + } catch (IllegalMessageException ex) { + assertTrue(true); + } catch (Exception ex) { + fail(); + } + + try { + c.encrypt(legalKey, wrongTextSpace); + fail(); + } catch (IllegalMessageException ex) { + assertTrue(true); + } catch (Exception ex) { + fail(); + } } } diff --git a/sources/target/checkstyle-cachefile b/sources/target/checkstyle-cachefile index 4851716..6797a98 100644 --- a/sources/target/checkstyle-cachefile +++ b/sources/target/checkstyle-cachefile @@ -1,4 +1,4 @@ -#Thu May 28 13:24:22 CEST 2026 +#Thu May 28 14:14:29 CEST 2026 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/enums/filme/LieblingsFilme.java=1779967432494 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/enums/schnick/Move.java=1779967432494 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/enums/singleton/MyEnum.java=1779967432495 @@ -21,10 +21,9 @@ /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/generics/super_extends/ListeNode.java=1779967432502 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/generics/wildcards/Main.java=1779967432503 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/generics/wildcards/SimpleList.java=1779967432503 -/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/abstrakt_form/Form.java=1779967432503 -/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Dreieck.java=1779967432503 -/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Geometer.java=1779967432504 -/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Kreis.java=1779967432504 +/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Dreieck.java=1779968624716 +/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Geometer.java=1779968728892 +/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Kreis.java=1779968612881 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/comparable_student/Student.java=1779967432504 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/interfaces_e/api/DigitalController.java=1779967432505 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/interfaces/interfaces_e/impl/DigitalControllerImpl.java=1779967432505 diff --git a/sources/target/checkstyle-result.xml b/sources/target/checkstyle-result.xml index e69de29..672b3a5 100644 --- a/sources/target/checkstyle-result.xml +++ b/sources/target/checkstyle-result.xml @@ -0,0 +1,463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +