From 12a2d35f6e000c03caf84d0cfaf05a29ddd7a35b Mon Sep 17 00:00:00 2001
From: "Jan.Emmerich" <3026842@stud.hs-mannheim.de>
Date: Thu, 28 May 2026 14:24:59 +0200
Subject: [PATCH] Bearbeitung von Aufgaben
---
erledigt.txt | 3 +
solutions/.classpath | 40 ++
solutions/.gitignore | 1 +
solutions/.project | 23 +
.../org.eclipse.core.resources.prefs | 4 +
.../.settings/org.eclipse.jdt.core.prefs | 8 +
.../solutions/pom.properties | 2 +-
.../pr2/interfaces/abstrakt_form/Form.java | 13 +-
.../abstrakte_klassen_e/Dreieck.java | 2 +-
.../interfaces/abstrakte_klassen_e/Figur.java | 8 +
.../abstrakte_klassen_e/Geometer.java | 30 +-
.../interfaces/abstrakte_klassen_e/Kreis.java | 2 +-
.../ausnahmen_testen/test/CaesarTest.java | 70 +++
sources/target/checkstyle-cachefile | 9 +-
sources/target/checkstyle-result.xml | 463 ++++++++++++++++++
15 files changed, 652 insertions(+), 26 deletions(-)
create mode 100644 erledigt.txt
create mode 100644 solutions/.classpath
create mode 100644 solutions/.gitignore
create mode 100644 solutions/.project
create mode 100644 solutions/.settings/org.eclipse.core.resources.prefs
create mode 100644 solutions/.settings/org.eclipse.jdt.core.prefs
create mode 100644 sources/src/main/java/pr2/interfaces/abstrakte_klassen_e/Figur.java
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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+