Weiter Aufgabenbearbeitung

main
Jan Emmerich 2026-06-18 19:31:05 +02:00
parent e9e3cdce89
commit 93d494e528
7 changed files with 195 additions and 151 deletions

View File

@ -1,5 +1,6 @@
- Abstrakte Klassen 1 - Abstrakte Klassen 1 (nochmal reinschauen)
- Abstrakte Klassen 2 - Abstrakte Klassen 2 (nochmal reinschauen)
- Ausnahmen 1 - Ausnahmen 1
- Enum 1 - Enum 1
- Enum 2 - Enum 2
- Ausnahme 2

View File

@ -32,8 +32,11 @@ public class Fuse {
* @throws IllegalCurrentException Ausnahme bei einem * @throws IllegalCurrentException Ausnahme bei einem
* ungültigen Spannungswert. * ungültigen Spannungswert.
*/ */
public Fuse(int tripCurrent) { public Fuse(int tripCurrent) throws IllegalCurrentException {
// TODO: IllegalCurrentException werfen, wenn der Strom ungültig ist // TODO: IllegalCurrentException werfen, wenn der Strom ungültig ist
if (tripCurrent != A16 && tripCurrent != A25 && tripCurrent != A32) {
throw new IllegalCurrentException(tripCurrent);
}
this.tripCurrent = tripCurrent; this.tripCurrent = tripCurrent;
} }
@ -43,7 +46,10 @@ public class Fuse {
* @param current Strom, der durch die Sicherung fließt. * @param current Strom, der durch die Sicherung fließt.
* @throws FuseTrippedException wird geworfen, wenn der Srom zu groß wird. * @throws FuseTrippedException wird geworfen, wenn der Srom zu groß wird.
*/ */
public void use(int current) { public void use(int current) throws FuseTrippedException {
// TODO: FuseTrippedException werfen, wenn der Strom zu groß ist // TODO: FuseTrippedException werfen, wenn der Strom zu groß ist
if (current > tripCurrent) {
throw new FuseTrippedException(tripCurrent, current);
}
} }
} }

View File

@ -3,7 +3,19 @@ package pr2.exceptions.eigene_ausnahme;
/** /**
* Ausnahme, wenn die Sicherung auslöst. * Ausnahme, wenn die Sicherung auslöst.
*/ */
public class FuseTrippedException { public class FuseTrippedException extends Exception {
// TODO: zu einer Ausnahme machen // TODO: zu einer Ausnahme machen
// TODO: Nennstrom und Auslösestrom speichern und in toString wieder ausgeben // TODO: Nennstrom und Auslösestrom speichern und in toString wieder ausgeben
private int nennstrom;
private int ausloeser;
FuseTrippedException(int nenn, int aus){
this.nennstrom = nenn;
this.ausloeser = aus;
}
@Override
public String toString() {
return String.format("Der Ausloeser war %d, und der Nennstrom ist %d", ausloeser, nennstrom);
}
} }

View File

@ -3,7 +3,27 @@ package pr2.exceptions.eigene_ausnahme;
/** /**
* Ausnahme, wenn eine Sicherung angelegt werden soll, die es nicht gibt. * Ausnahme, wenn eine Sicherung angelegt werden soll, die es nicht gibt.
*/ */
public class IllegalCurrentException { public class IllegalCurrentException extends Exception {
// TODO: zu einer Ausnahme machen // TODO: zu einer Ausnahme machen
// TODO: Nennstrom speichern, mit dem die Sicherung angelegt werden sollte. // TODO: Nennstrom speichern, mit dem die Sicherung angelegt werden sollte.
private int current;
IllegalCurrentException(String msg, int current) {
super(msg);
this.current = current;
}
IllegalCurrentException(int current) {
this.current = current;
}
public int getCurrent() {
return current;
}
@Override
public String toString() {
return String.format("Der Falsche Strom betrug: %d", current);
}
} }

View File

@ -13,147 +13,147 @@ public class FuseTest {
// TODO: Quellcode wieder einkommentieren // TODO: Quellcode wieder einkommentieren
// //
// /** /**
// * Testet die Erzeugung von Sicherungen mit gültigen Werten. * Testet die Erzeugung von Sicherungen mit gültigen Werten.
// * *
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testCreationValid() throws IllegalCurrentException { void testCreationValid() throws IllegalCurrentException {
// new Fuse(Fuse.A16); new Fuse(Fuse.A16);
// new Fuse(Fuse.A25); new Fuse(Fuse.A25);
// new Fuse(Fuse.A32); new Fuse(Fuse.A32);
// } }
//
// /** /**
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten. * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
// * *
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testCreationValid1() throws IllegalCurrentException { void testCreationValid1() throws IllegalCurrentException {
// Assertions.assertThrows(IllegalCurrentException.class, () -> { Assertions.assertThrows(IllegalCurrentException.class, () -> {
// new Fuse(15); new Fuse(15);
// }); });
// } }
//
// /** /**
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten. * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
// * *
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testCreationValid2() throws IllegalCurrentException { void testCreationValid2() throws IllegalCurrentException {
// Assertions.assertThrows(IllegalCurrentException.class, () -> { Assertions.assertThrows(IllegalCurrentException.class, () -> {
// new Fuse(-1); new Fuse(-1);
// }); });
// } }
//
// /** /**
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten. * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
// * *
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testCreationValid3() throws IllegalCurrentException { void testCreationValid3() throws IllegalCurrentException {
// Assertions.assertThrows(IllegalCurrentException.class, () -> { Assertions.assertThrows(IllegalCurrentException.class, () -> {
// new Fuse(0); new Fuse(0);
// }); });
// } }
//
// /** /**
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten. * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
// * *
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testCreationValid4() throws IllegalCurrentException { void testCreationValid4() throws IllegalCurrentException {
// Assertions.assertThrows(IllegalCurrentException.class, () -> { Assertions.assertThrows(IllegalCurrentException.class, () -> {
// new Fuse(Integer.MAX_VALUE); new Fuse(Integer.MAX_VALUE);
// }); });
// } }
//
// /** /**
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten. * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
// * *
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testCreationValid5() throws IllegalCurrentException { void testCreationValid5() throws IllegalCurrentException {
// Assertions.assertThrows(IllegalCurrentException.class, () -> { Assertions.assertThrows(IllegalCurrentException.class, () -> {
// new Fuse(Integer.MIN_VALUE); new Fuse(Integer.MIN_VALUE);
// }); });
// } }
//
// /** /**
// * Testet das Auslösen der Sicherung. * Testet das Auslösen der Sicherung.
// * *
// * @throws FuseTrippedException Sicherung hat ausgelöst. * @throws FuseTrippedException Sicherung hat ausgelöst.
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testTripping1() void testTripping1()
// throws FuseTrippedException, IllegalCurrentException { throws FuseTrippedException, IllegalCurrentException {
//
// Fuse f = new Fuse(Fuse.A16); Fuse f = new Fuse(Fuse.A16);
// f.use(5); f.use(5);
// f.use(16); f.use(16);
// f.use(0); f.use(0);
//
// f = new Fuse(Fuse.A25); f = new Fuse(Fuse.A25);
// f.use(5); f.use(5);
// f.use(16); f.use(16);
// f.use(25); f.use(25);
//
//
// Assertions.assertThrows(FuseTrippedException.class, () -> { Assertions.assertThrows(FuseTrippedException.class, () -> {
// Fuse f2 = new Fuse(Fuse.A16); Fuse f2 = new Fuse(Fuse.A16);
// f2.use(0); f2.use(0);
// f2.use(16); f2.use(16);
// f2.use(25); f2.use(25);
// }); });
// } }
//
// /** /**
// * Testet das Auslösen der Sicherung. * Testet das Auslösen der Sicherung.
// * *
// * @throws FuseTrippedException Sicherung hat ausgelöst. * @throws FuseTrippedException Sicherung hat ausgelöst.
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testTripping2() void testTripping2()
// throws FuseTrippedException, IllegalCurrentException { throws FuseTrippedException, IllegalCurrentException {
// Assertions.assertThrows(FuseTrippedException.class, () -> { Assertions.assertThrows(FuseTrippedException.class, () -> {
// new Fuse(Fuse.A16).use(17); new Fuse(Fuse.A16).use(17);
// }); });
// } }
//
// /** /**
// * Testet das Auslösen der Sicherung. * Testet das Auslösen der Sicherung.
// * *
// * @throws FuseTrippedException Sicherung hat ausgelöst. * @throws FuseTrippedException Sicherung hat ausgelöst.
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testTripping3() void testTripping3()
// throws FuseTrippedException, IllegalCurrentException { throws FuseTrippedException, IllegalCurrentException {
//
// Assertions.assertThrows(FuseTrippedException.class, () -> { Assertions.assertThrows(FuseTrippedException.class, () -> {
// new Fuse(Fuse.A16).use(Integer.MAX_VALUE); new Fuse(Fuse.A16).use(Integer.MAX_VALUE);
// }); });
// } }
//
// /** /**
// * Testet das Auslösen der Sicherung. * Testet das Auslösen der Sicherung.
// * *
// * @throws FuseTrippedException Sicherung hat ausgelöst. * @throws FuseTrippedException Sicherung hat ausgelöst.
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung. * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
// */ */
// @Test @Test
// void testTripping4() void testTripping4()
// throws FuseTrippedException, IllegalCurrentException { throws FuseTrippedException, IllegalCurrentException {
// Assertions.assertThrows(FuseTrippedException.class, () -> { Assertions.assertThrows(FuseTrippedException.class, () -> {
// new Fuse(Fuse.A32).use(40); new Fuse(Fuse.A32).use(40);
// }); });
// } }
} }

View File

@ -1,4 +1,4 @@
#Thu Jun 18 19:00:14 CEST 2026 #Thu Jun 18 19:22:21 CEST 2026
/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/schnick/Move.java=1779967432494
/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/enums/singleton/MyEnum.java=1779967432495 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/enums/singleton/MyEnum.java=1779967432495
/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/ausnahmen_testen/CrypterCaesar.java=1779967432495 /home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/ausnahmen_testen/CrypterCaesar.java=1779967432495

View File

@ -118,16 +118,21 @@
</file> </file>
<file name="/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.java"> <file name="/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/eigene_ausnahme/Fuse.java">
<error line="36" column="11" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/> <error line="36" column="11" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
<error line="47" column="11" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/> <error line="37" column="5" severity="error" message="Die Datei enthält Tabulatorzeichen (dies ist das erste Vorkommen)." source="com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheck"/>
<error line="50" column="11" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
</file> </file>
<file name="/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.java"> <file name="/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/eigene_ausnahme/FuseTrippedException.java">
<error line="7" column="7" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/> <error line="7" column="7" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
<error line="8" severity="error" message="Zeile ist 81 Zeichen lang (Obergrenze ist 80)." source="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck"/> <error line="8" severity="error" message="Zeile ist 81 Zeichen lang (Obergrenze ist 80)." source="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck"/>
<error line="8" column="7" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/> <error line="8" column="7" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
<error line="9" column="1" severity="error" message="Die Datei enthält Tabulatorzeichen (dies ist das erste Vorkommen)." source="com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheck"/>
<error line="12" column="48" severity="error" message="Vor &apos;{&apos; fehlt ein Leerzeichen." source="com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck"/>
<error line="19" severity="error" message="Zeile ist 109 Zeichen lang (Obergrenze ist 80)." source="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck"/>
</file> </file>
<file name="/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.java"> <file name="/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/eigene_ausnahme/IllegalCurrentException.java">
<error line="7" column="7" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/> <error line="7" column="7" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
<error line="8" column="7" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/> <error line="8" column="7" severity="error" message="Kommentar entspricht to-do-Format &apos;TODO:&apos;." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
<error line="9" column="1" severity="error" message="Die Datei enthält Tabulatorzeichen (dies ist das erste Vorkommen)." source="com.puppycrawl.tools.checkstyle.checks.whitespace.FileTabCharacterCheck"/>
</file> </file>
<file name="/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/handle_or_declare/Buchstabenzaehler.java"> <file name="/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/handle_or_declare/Buchstabenzaehler.java">
<error line="3" column="8" severity="error" message="Nicht verwendeter Import - java.io.BufferedReader." source="com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck"/> <error line="3" column="8" severity="error" message="Nicht verwendeter Import - java.io.BufferedReader." source="com.puppycrawl.tools.checkstyle.checks.imports.UnusedImportsCheck"/>