forked from pr2-lecture/uebungen
Weiter Aufgabenbearbeitung
parent
e9e3cdce89
commit
93d494e528
|
|
@ -1,5 +1,6 @@
|
|||
- Abstrakte Klassen 1
|
||||
- Abstrakte Klassen 2
|
||||
- Abstrakte Klassen 1 (nochmal reinschauen)
|
||||
- Abstrakte Klassen 2 (nochmal reinschauen)
|
||||
- Ausnahmen 1
|
||||
- Enum 1
|
||||
- Enum 2
|
||||
- Ausnahme 2
|
||||
|
|
|
|||
|
|
@ -32,8 +32,11 @@ public class Fuse {
|
|||
* @throws IllegalCurrentException Ausnahme bei einem
|
||||
* ungültigen Spannungswert.
|
||||
*/
|
||||
public Fuse(int tripCurrent) {
|
||||
public Fuse(int tripCurrent) throws IllegalCurrentException {
|
||||
// TODO: IllegalCurrentException werfen, wenn der Strom ungültig ist
|
||||
if (tripCurrent != A16 && tripCurrent != A25 && tripCurrent != A32) {
|
||||
throw new IllegalCurrentException(tripCurrent);
|
||||
}
|
||||
this.tripCurrent = tripCurrent;
|
||||
}
|
||||
|
||||
|
|
@ -43,7 +46,10 @@ public class Fuse {
|
|||
* @param current Strom, der durch die Sicherung fließt.
|
||||
* @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
|
||||
if (current > tripCurrent) {
|
||||
throw new FuseTrippedException(tripCurrent, current);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,19 @@ package pr2.exceptions.eigene_ausnahme;
|
|||
/**
|
||||
* Ausnahme, wenn die Sicherung auslöst.
|
||||
*/
|
||||
public class FuseTrippedException {
|
||||
public class FuseTrippedException extends Exception {
|
||||
// TODO: zu einer Ausnahme machen
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,27 @@ package pr2.exceptions.eigene_ausnahme;
|
|||
/**
|
||||
* 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: 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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,147 +13,147 @@ public class FuseTest {
|
|||
|
||||
// TODO: Quellcode wieder einkommentieren
|
||||
//
|
||||
// /**
|
||||
// * Testet die Erzeugung von Sicherungen mit gültigen Werten.
|
||||
// *
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testCreationValid() throws IllegalCurrentException {
|
||||
// new Fuse(Fuse.A16);
|
||||
// new Fuse(Fuse.A25);
|
||||
// new Fuse(Fuse.A32);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
// *
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testCreationValid1() throws IllegalCurrentException {
|
||||
// Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
// new Fuse(15);
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
// *
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testCreationValid2() throws IllegalCurrentException {
|
||||
// Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
// new Fuse(-1);
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
// *
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testCreationValid3() throws IllegalCurrentException {
|
||||
// Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
// new Fuse(0);
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
// *
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testCreationValid4() throws IllegalCurrentException {
|
||||
// Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
// new Fuse(Integer.MAX_VALUE);
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
// *
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testCreationValid5() throws IllegalCurrentException {
|
||||
// Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
// new Fuse(Integer.MIN_VALUE);
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet das Auslösen der Sicherung.
|
||||
// *
|
||||
// * @throws FuseTrippedException Sicherung hat ausgelöst.
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testTripping1()
|
||||
// throws FuseTrippedException, IllegalCurrentException {
|
||||
//
|
||||
// Fuse f = new Fuse(Fuse.A16);
|
||||
// f.use(5);
|
||||
// f.use(16);
|
||||
// f.use(0);
|
||||
//
|
||||
// f = new Fuse(Fuse.A25);
|
||||
// f.use(5);
|
||||
// f.use(16);
|
||||
// f.use(25);
|
||||
//
|
||||
//
|
||||
// Assertions.assertThrows(FuseTrippedException.class, () -> {
|
||||
// Fuse f2 = new Fuse(Fuse.A16);
|
||||
// f2.use(0);
|
||||
// f2.use(16);
|
||||
// f2.use(25);
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet das Auslösen der Sicherung.
|
||||
// *
|
||||
// * @throws FuseTrippedException Sicherung hat ausgelöst.
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testTripping2()
|
||||
// throws FuseTrippedException, IllegalCurrentException {
|
||||
// Assertions.assertThrows(FuseTrippedException.class, () -> {
|
||||
// new Fuse(Fuse.A16).use(17);
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet das Auslösen der Sicherung.
|
||||
// *
|
||||
// * @throws FuseTrippedException Sicherung hat ausgelöst.
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testTripping3()
|
||||
// throws FuseTrippedException, IllegalCurrentException {
|
||||
//
|
||||
// Assertions.assertThrows(FuseTrippedException.class, () -> {
|
||||
// new Fuse(Fuse.A16).use(Integer.MAX_VALUE);
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * Testet das Auslösen der Sicherung.
|
||||
// *
|
||||
// * @throws FuseTrippedException Sicherung hat ausgelöst.
|
||||
// * @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
// */
|
||||
// @Test
|
||||
// void testTripping4()
|
||||
// throws FuseTrippedException, IllegalCurrentException {
|
||||
// Assertions.assertThrows(FuseTrippedException.class, () -> {
|
||||
// new Fuse(Fuse.A32).use(40);
|
||||
// });
|
||||
// }
|
||||
/**
|
||||
* Testet die Erzeugung von Sicherungen mit gültigen Werten.
|
||||
*
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testCreationValid() throws IllegalCurrentException {
|
||||
new Fuse(Fuse.A16);
|
||||
new Fuse(Fuse.A25);
|
||||
new Fuse(Fuse.A32);
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
*
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testCreationValid1() throws IllegalCurrentException {
|
||||
Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
new Fuse(15);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
*
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testCreationValid2() throws IllegalCurrentException {
|
||||
Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
new Fuse(-1);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
*
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testCreationValid3() throws IllegalCurrentException {
|
||||
Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
new Fuse(0);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
*
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testCreationValid4() throws IllegalCurrentException {
|
||||
Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
new Fuse(Integer.MAX_VALUE);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet die Erzeugung von Sicherungen mit ungültigen Werten.
|
||||
*
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testCreationValid5() throws IllegalCurrentException {
|
||||
Assertions.assertThrows(IllegalCurrentException.class, () -> {
|
||||
new Fuse(Integer.MIN_VALUE);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet das Auslösen der Sicherung.
|
||||
*
|
||||
* @throws FuseTrippedException Sicherung hat ausgelöst.
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testTripping1()
|
||||
throws FuseTrippedException, IllegalCurrentException {
|
||||
|
||||
Fuse f = new Fuse(Fuse.A16);
|
||||
f.use(5);
|
||||
f.use(16);
|
||||
f.use(0);
|
||||
|
||||
f = new Fuse(Fuse.A25);
|
||||
f.use(5);
|
||||
f.use(16);
|
||||
f.use(25);
|
||||
|
||||
|
||||
Assertions.assertThrows(FuseTrippedException.class, () -> {
|
||||
Fuse f2 = new Fuse(Fuse.A16);
|
||||
f2.use(0);
|
||||
f2.use(16);
|
||||
f2.use(25);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet das Auslösen der Sicherung.
|
||||
*
|
||||
* @throws FuseTrippedException Sicherung hat ausgelöst.
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testTripping2()
|
||||
throws FuseTrippedException, IllegalCurrentException {
|
||||
Assertions.assertThrows(FuseTrippedException.class, () -> {
|
||||
new Fuse(Fuse.A16).use(17);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet das Auslösen der Sicherung.
|
||||
*
|
||||
* @throws FuseTrippedException Sicherung hat ausgelöst.
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testTripping3()
|
||||
throws FuseTrippedException, IllegalCurrentException {
|
||||
|
||||
Assertions.assertThrows(FuseTrippedException.class, () -> {
|
||||
new Fuse(Fuse.A16).use(Integer.MAX_VALUE);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Testet das Auslösen der Sicherung.
|
||||
*
|
||||
* @throws FuseTrippedException Sicherung hat ausgelöst.
|
||||
* @throws IllegalCurrentException ungültiger Wert für die Sicherung.
|
||||
*/
|
||||
@Test
|
||||
void testTripping4()
|
||||
throws FuseTrippedException, IllegalCurrentException {
|
||||
Assertions.assertThrows(FuseTrippedException.class, () -> {
|
||||
new Fuse(Fuse.A32).use(40);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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/singleton/MyEnum.java=1779967432495
|
||||
/home/mainuser/programming/java/uebungen/sources/src/main/java/pr2/exceptions/ausnahmen_testen/CrypterCaesar.java=1779967432495
|
||||
|
|
|
|||
|
|
@ -118,16 +118,21 @@
|
|||
</file>
|
||||
<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 'TODO:'." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
|
||||
<error line="47" column="11" severity="error" message="Kommentar entspricht to-do-Format 'TODO:'." 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 'TODO:'." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
|
||||
</file>
|
||||
<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 'TODO:'." 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" column="7" severity="error" message="Kommentar entspricht to-do-Format 'TODO:'." 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 '{' 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 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 'TODO:'." source="com.puppycrawl.tools.checkstyle.checks.TodoCommentCheck"/>
|
||||
<error line="8" column="7" severity="error" message="Kommentar entspricht to-do-Format 'TODO:'." 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 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"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue