From acddfd7d07d870ac60c6e3b9f5aa11bf47b7ee4d Mon Sep 17 00:00:00 2001 From: Thomas Smits Date: Mon, 20 Mar 2023 16:51:33 +0100 Subject: [PATCH] Update of exercises --- Assignment_001/readme.md | 12 +-- Assignment_002/readme.md | 12 +-- Assignment_003/readme.md | 12 +-- Assignment_004/readme.md | 12 +-- Assignment_005/readme.md | 12 +-- Assignment_006/readme.md | 12 +-- Assignment_007/readme.md | 12 +-- Assignment_008/readme.md | 26 ++++++ Assignment_009/readme.md | 24 +++++ Assignment_010/readme.md | 24 +++++ Assignment_011/readme.md | 30 +++++++ readme.md | 22 +++-- .../intro/coding_standard/CodingStandard.java | 51 +++++++++++ .../main/java/pr2/intro/javadoc/Waehrung.java | 90 +++++++++++++++++++ .../pr2/intro/junit_faculty/Fakultaet.java | 14 +++ .../junit_faculty/test/FakultaetTest.java | 13 +++ .../jars_einbinden/PieChart.java | 59 ++++++++++++ 17 files changed, 365 insertions(+), 72 deletions(-) create mode 100644 Assignment_008/readme.md create mode 100644 Assignment_009/readme.md create mode 100644 Assignment_010/readme.md create mode 100644 Assignment_011/readme.md create mode 100644 sources/src/main/java/pr2/intro/coding_standard/CodingStandard.java create mode 100644 sources/src/main/java/pr2/intro/javadoc/Waehrung.java create mode 100644 sources/src/main/java/pr2/intro/junit_faculty/Fakultaet.java create mode 100644 sources/src/main/java/pr2/intro/junit_faculty/test/FakultaetTest.java create mode 100644 sources/src/main/java/pr2/strukturierung/jars_einbinden/PieChart.java diff --git a/Assignment_001/readme.md b/Assignment_001/readme.md index 9969d6d..74db714 100644 --- a/Assignment_001/readme.md +++ b/Assignment_001/readme.md @@ -22,16 +22,10 @@ Zeichen : 24 ## Abgabe (optional) -__Sie müssen keine Lösung für diese Aufgabe einreichen, können es aber, wenn Sie wollen.__ +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ -Wenn Sie die Aufgabe abgeben wollen, folgen Sie der unten stehenden Anleitung. - -Alle Abgaben für die Vorlesung erfolgen über `git`. - -Hierzu gehen Sie wie folgt vor: +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: 1. Öffnen Sie eine Kommandozeile (Terminal). 2. Gehen Sie in Ihr Working Directory. - 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. - 4. Wenn Sie Meldung "✅ Projekt gebaut" bekommen, checken (comitten) Sie Ihre Änderungen in `git` ein. - 5. Rufen Sie mit `bin/submit.sh` erneut das Skript auf. Wenn alles klappt, bekommen Sie die Anzeige "✅ Aktuelle Lösungen eingereicht" und Ihre Lösung ist im System angekommen. \ No newline at end of file + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_002/readme.md b/Assignment_002/readme.md index 64f7267..57db6b4 100644 --- a/Assignment_002/readme.md +++ b/Assignment_002/readme.md @@ -17,16 +17,10 @@ Verwenden Sie bitte ein **labeled break** für Ihre Implementierung. ## Abgabe (optional) -__Sie müssen keine Lösung für diese Aufgabe einreichen, können es aber, wenn Sie wollen.__ +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ -Wenn Sie die Aufgabe abgeben wollen, folgen Sie der unten stehenden Anleitung. - -Alle Abgaben für die Vorlesung erfolgen über `git`. - -Hierzu gehen Sie wie folgt vor: +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: 1. Öffnen Sie eine Kommandozeile (Terminal). 2. Gehen Sie in Ihr Working Directory. - 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. - 4. Wenn Sie Meldung "✅ Projekt gebaut" bekommen, checken (comitten) Sie Ihre Änderungen in `git` ein. - 5. Rufen Sie mit `bin/submit.sh` erneut das Skript auf. Wenn alles klappt, bekommen Sie die Anzeige "✅ Aktuelle Lösungen eingereicht" und Ihre Lösung ist im System angekommen. \ No newline at end of file + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_003/readme.md b/Assignment_003/readme.md index d1915c8..88d7997 100644 --- a/Assignment_003/readme.md +++ b/Assignment_003/readme.md @@ -22,16 +22,10 @@ Testen Sie die Methode mit verschiedenen Passwörtern. ## Abgabe (optional) -__Sie müssen keine Lösung für diese Aufgabe einreichen, können es aber, wenn Sie wollen.__ +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ -Wenn Sie die Aufgabe abgeben wollen, folgen Sie der unten stehenden Anleitung. - -Alle Abgaben für die Vorlesung erfolgen über `git`. - -Hierzu gehen Sie wie folgt vor: +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: 1. Öffnen Sie eine Kommandozeile (Terminal). 2. Gehen Sie in Ihr Working Directory. - 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. - 4. Wenn Sie Meldung "✅ Projekt gebaut" bekommen, checken (comitten) Sie Ihre Änderungen in `git` ein. - 5. Rufen Sie mit `bin/submit.sh` erneut das Skript auf. Wenn alles klappt, bekommen Sie die Anzeige "✅ Aktuelle Lösungen eingereicht" und Ihre Lösung ist im System angekommen. \ No newline at end of file + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_004/readme.md b/Assignment_004/readme.md index 50405de..9eea872 100644 --- a/Assignment_004/readme.md +++ b/Assignment_004/readme.md @@ -17,16 +17,10 @@ Schreiben Sie eine Methode `printDouble`, die eine beliebige double-Zahl mit imm ## Abgabe (optional) -__Sie müssen keine Lösung für diese Aufgabe einreichen, können es aber, wenn Sie wollen.__ +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ -Wenn Sie die Aufgabe abgeben wollen, folgen Sie der unten stehenden Anleitung. - -Alle Abgaben für die Vorlesung erfolgen über `git`. - -Hierzu gehen Sie wie folgt vor: +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: 1. Öffnen Sie eine Kommandozeile (Terminal). 2. Gehen Sie in Ihr Working Directory. - 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. - 4. Wenn Sie Meldung "✅ Projekt gebaut" bekommen, checken (comitten) Sie Ihre Änderungen in `git` ein. - 5. Rufen Sie mit `bin/submit.sh` erneut das Skript auf. Wenn alles klappt, bekommen Sie die Anzeige "✅ Aktuelle Lösungen eingereicht" und Ihre Lösung ist im System angekommen. \ No newline at end of file + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_005/readme.md b/Assignment_005/readme.md index 37d6049..ea36dff 100644 --- a/Assignment_005/readme.md +++ b/Assignment_005/readme.md @@ -17,16 +17,10 @@ Testen Sie die Methode mit einigen Testzahlen. ## Abgabe (optional) -__Sie müssen keine Lösung für diese Aufgabe einreichen, können es aber, wenn Sie wollen.__ +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ -Wenn Sie die Aufgabe abgeben wollen, folgen Sie der unten stehenden Anleitung. - -Alle Abgaben für die Vorlesung erfolgen über `git`. - -Hierzu gehen Sie wie folgt vor: +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: 1. Öffnen Sie eine Kommandozeile (Terminal). 2. Gehen Sie in Ihr Working Directory. - 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. - 4. Wenn Sie Meldung "✅ Projekt gebaut" bekommen, checken (comitten) Sie Ihre Änderungen in `git` ein. - 5. Rufen Sie mit `bin/submit.sh` erneut das Skript auf. Wenn alles klappt, bekommen Sie die Anzeige "✅ Aktuelle Lösungen eingereicht" und Ihre Lösung ist im System angekommen. \ No newline at end of file + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_006/readme.md b/Assignment_006/readme.md index 74e8e9e..a1e55a5 100644 --- a/Assignment_006/readme.md +++ b/Assignment_006/readme.md @@ -17,16 +17,10 @@ Testen Sie Ihre Klasse und Methode mit einigen einfachen Rechnungen. ## Abgabe (optional) -__Sie müssen keine Lösung für diese Aufgabe einreichen, können es aber, wenn Sie wollen.__ +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ -Wenn Sie die Aufgabe abgeben wollen, folgen Sie der unten stehenden Anleitung. - -Alle Abgaben für die Vorlesung erfolgen über `git`. - -Hierzu gehen Sie wie folgt vor: +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: 1. Öffnen Sie eine Kommandozeile (Terminal). 2. Gehen Sie in Ihr Working Directory. - 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. - 4. Wenn Sie Meldung "✅ Projekt gebaut" bekommen, checken (comitten) Sie Ihre Änderungen in `git` ein. - 5. Rufen Sie mit `bin/submit.sh` erneut das Skript auf. Wenn alles klappt, bekommen Sie die Anzeige "✅ Aktuelle Lösungen eingereicht" und Ihre Lösung ist im System angekommen. \ No newline at end of file + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_007/readme.md b/Assignment_007/readme.md index 8a999cd..f734765 100644 --- a/Assignment_007/readme.md +++ b/Assignment_007/readme.md @@ -17,16 +17,10 @@ Hinweis: Die Lösung wird deutlich einfacher, wenn Sie `printf` und `String.repl ## Abgabe (optional) -__Sie müssen keine Lösung für diese Aufgabe einreichen, können es aber, wenn Sie wollen.__ +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ -Wenn Sie die Aufgabe abgeben wollen, folgen Sie der unten stehenden Anleitung. - -Alle Abgaben für die Vorlesung erfolgen über `git`. - -Hierzu gehen Sie wie folgt vor: +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: 1. Öffnen Sie eine Kommandozeile (Terminal). 2. Gehen Sie in Ihr Working Directory. - 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. - 4. Wenn Sie Meldung "✅ Projekt gebaut" bekommen, checken (comitten) Sie Ihre Änderungen in `git` ein. - 5. Rufen Sie mit `bin/submit.sh` erneut das Skript auf. Wenn alles klappt, bekommen Sie die Anzeige "✅ Aktuelle Lösungen eingereicht" und Ihre Lösung ist im System angekommen. \ No newline at end of file + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_008/readme.md b/Assignment_008/readme.md new file mode 100644 index 0000000..e48f73e --- /dev/null +++ b/Assignment_008/readme.md @@ -0,0 +1,26 @@ +# Java-Coding-Standard anwenden + + + +## Lernziel + +Java-Code korrekt entsprechend dem [Coding-Standard von Oracle](http://www.oracle.com/technetwork/java/codeconventions-150003.pdf) formatieren. + +## Aufgabe + +Im Paket [pr2.intro.coding_standard](../sources/src/main/java/pr2/intro/coding_standard/) finden Sie eine Klasse `CodingStandard`. Compilieren Sie die Datei `CodingStandard.java` und stellen Sie so sicher, dass es sich um eine syntaktisch korrekte Java-Klasse handelt. + +Formatieren Sie `CodingStandard` so um, dass sie dem in der Vorlesung vorgestellten Coding-Standard entspricht. + +Prüfen Sie, ob sich die Klasse noch korrekt compilieren lässt, bevor sie fortfahren. + + +## Abgabe (optional) + +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ + +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: + + 1. Öffnen Sie eine Kommandozeile (Terminal). + 2. Gehen Sie in Ihr Working Directory. + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_009/readme.md b/Assignment_009/readme.md new file mode 100644 index 0000000..d192047 --- /dev/null +++ b/Assignment_009/readme.md @@ -0,0 +1,24 @@ +# JavaDoc schreiben + + + +## Lernziel + +Eine vorhandene Klasse mit korrekten JavaDoc-Kommentaren versehen. + +## Aufgabe + +Im Paket [pr2.intro.javadoc](../sources/src/main/java/pr2/intro/javadoc/) finden Sie eine Klasse namens `Waehrung`, die eine Währung repräsentiert. Leider hat ein böser Geist bei dieser Klasse fast die gesamte JavaDoc gelöscht. + +Schreiben Sie eine sinnvolle JavaDoc für die Klasse `Waehrung`, die insbesondere die Funktion der Methoden und deren Parameter und Rückgabewerte erläutert. Vergessen Sie nicht, auch die Klasse selbst zu dokumentieren. + + +## Abgabe (optional) + +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ + +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: + + 1. Öffnen Sie eine Kommandozeile (Terminal). + 2. Gehen Sie in Ihr Working Directory. + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_010/readme.md b/Assignment_010/readme.md new file mode 100644 index 0000000..711214f --- /dev/null +++ b/Assignment_010/readme.md @@ -0,0 +1,24 @@ +# Klasse mit JUnit testen + + + +## Lernziel + +Einen JUnit-Test für eine gegebene Klasse schreiben. + +## Aufgabe + +Gehen Sie in das Paket [pr2.intro.junit_faculty](../sources/src/main/java/pr2/intro/junit_faculty/). + +Schreiben Sie bitte einen JUnit-Test für folgende Klasse `Fakultaet`, der die Funktionalität der Methode `fact` testet. Denken Sie insbesondere daran, die Randfälle zu testen. + + +## Abgabe (optional) + +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ + +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: + + 1. Öffnen Sie eine Kommandozeile (Terminal). + 2. Gehen Sie in Ihr Working Directory. + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/Assignment_011/readme.md b/Assignment_011/readme.md new file mode 100644 index 0000000..216bfae --- /dev/null +++ b/Assignment_011/readme.md @@ -0,0 +1,30 @@ +# Vorhandene Bibliotheken als JAR einbinden + + + +## Lernziel + +Eine vorhandene Bibliothek in einem Projekt verwenden und hierzu ein JAR einbinden. + +## Aufgabe + +Im Paket [pr2.strukturierung.jars_einbinden](../sources/src/main/java/pr2/strukturierung/jars_einbinden/) finden Sie eine Klasse `PieChart`, deren Rumpf auskommentiert ist. + +In dieser Aufgabe werden Sie die Bibliothek [JFreeChart](http://www.jfree.org/jfreechart/) für die Darstellung von Grafiken verwenden. Hierzu müssen die JARs der Bibliothek in das Projekt eingebunden werden. + +Die beiden JAR-Dateien `jcommon-1.0.23.jar` und `jfreechart-1.0.19.jar` liegen bereits im `lib`-Ordner des Projektes, sind aber noch nicht in das Projekt eingebunden. + +Binden Sie die Bibliotheken über den entsprechenden Dialog in Eclipse ein: `Properties` -> `Java Build Path` -> `Libraries` -> `Add JARs`... + +Kommentieren Sie die auskommentierten Passagen in der Klasse `PieChart` wieder ein und starten Sie das Programm. Experimentieren Sie ein wenig mit Werten, die dargestellt werden. + + +## Abgabe (optional) + +__Sie müssen keine Lösung für diese Aufgabe einreichen.__ + +Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor: + + 1. Öffnen Sie eine Kommandozeile (Terminal). + 2. Gehen Sie in Ihr Working Directory. + 3. Rufen Sie mit `bin/submit.sh` das Skript auf, das die Lösungen testet und kompiliert. Wenn Maven eine Fehlermeldung zeigt, beheben Sie diese zuerst, bevor Sie mit dem nächsten Schritt fortfahren. \ No newline at end of file diff --git a/readme.md b/readme.md index 200cafb..e812a04 100644 --- a/readme.md +++ b/readme.md @@ -6,12 +6,16 @@ Hier finden Sie die freiwilligen Übungen zur Vorlesung Programmieren 2 (PR2). D Hinweise zur nötigen Softwareausstattung finden Sie [hier](help/softwareausstattung.md). -| # | Ausgabe | Thema | -|----|-----------------------------------------------------------------|----------------| -| 1. | 14.03.2023 | [String in Großbuchstaben umwandeln](Assignment_001/readme.md) | -| 2. | 14.03.2023 | [Labeled Break](Assignment_002/readme.md) | -| 3. | 14.03.2023 | [Passwortbewertung](Assignment_003/readme.md) | -| 4. | 14.03.2023 | [printf mit Formatstring](Assignment_004/readme.md) | -| 5. | 14.03.2023 | [Maximum in einem Array suchen](Assignment_005/readme.md) | -| 6. | 14.03.2023 | [Taschenrechner](Assignment_006/readme.md) | -| 7. | 14.03.2023 | [Quine](Assignment_007/readme.md) | +| # | Ausgabe | Thema | +|----|------------------------------------------------------------------------|----------------| +| 1. | 14.03.2023 | [String in Großbuchstaben umwandeln](Assignment_001/readme.md) | +| 2. | 14.03.2023 | [Labeled Break](Assignment_002/readme.md) | +| 3. | 14.03.2023 | [Passwortbewertung](Assignment_003/readme.md) | +| 4. | 14.03.2023 | [printf mit Formatstring](Assignment_004/readme.md) | +| 5. | 14.03.2023 | [Maximum in einem Array suchen](Assignment_005/readme.md) | +| 6. | 14.03.2023 | [Taschenrechner](Assignment_006/readme.md) | +| 7. | 14.03.2023 | [Quine](Assignment_007/readme.md) | +| 8. | 01.01.2023 | [Java-Coding-Standard anwenden](Assignment_008/readme.md) | +| 9. | 01.01.2023 | [JavaDoc schreiben](Assignment_009/readme.md) | +| 10. | 01.01.2023 | [Klasse mit JUnit testen](Assignment_010/readme.md) | +| 11. | 01.01.2023 | [Vorhandene Bibliotheken als JAR einbinden](Assignment_011/readme.md) | diff --git a/sources/src/main/java/pr2/intro/coding_standard/CodingStandard.java b/sources/src/main/java/pr2/intro/coding_standard/CodingStandard.java new file mode 100644 index 0000000..3210f25 --- /dev/null +++ b/sources/src/main/java/pr2/intro/coding_standard/CodingStandard.java @@ -0,0 +1,51 @@ +package pr2.intro.coding_standard; + +/** + * Klasse dient als Beispiel für den Coding-Standard und die Namenskonventionen + * bei Java-Programmen. + */ +public +class +CodingStandard { + + /* + * Konstante, die dem Rest der Welt etwas mitteilen soll. + */ + public final static int konstanteMitTOLLEMWert = 3; + + private int ERSTES_Feld; + private double ZWEITES_Feld; + + /* + * Legt eine neue Instanz an. + * + * Erstes_Feld: das erste Feld. + * ZweitesFeld: das zweite Feld. + */ + public CodingStandard(int Erstes_Feld, double ZweitesFeld) + { + this.ERSTES_Feld = Erstes_Feld; this.ZWEITES_Feld = ZweitesFeld; + } + + /* + * Methode, die etwas tut. + * + * parameter: Eingabewert für die Methode. + * gibt einen Wert abhängig von {@code parameter} zurück. + */ + public int + Methode_Die_Was_Tut(int Parameter) + { + int result; + + if (Parameter > konstanteMitTOLLEMWert) + result = 12; + else + { + result = 13; } + + ERSTES_Feld = result; ZWEITES_Feld = 2 * result; + + return result; + } +} diff --git a/sources/src/main/java/pr2/intro/javadoc/Waehrung.java b/sources/src/main/java/pr2/intro/javadoc/Waehrung.java new file mode 100644 index 0000000..5e5235f --- /dev/null +++ b/sources/src/main/java/pr2/intro/javadoc/Waehrung.java @@ -0,0 +1,90 @@ +package pr2.intro.javadoc; + +public class Waehrung { + + private static final long TEILER = 10000; + + private final int kurs; + + private final String name; + + private final String kuerzel; + + public Waehrung(String name, String kuerzel, double kurs) { + this.kurs = (int) (kurs * TEILER); + this.name = name; + this.kuerzel = kuerzel; + } + + public long umrechnen(long betrag, Waehrung toWaehrung) { + return betrag * kurs / toWaehrung.kurs; + } + + public int getKurs() { + return kurs; + } + + public String getName() { + return name; + } + + public String getKuerzel() { + return kuerzel; + } + + /** + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + return String.format("%s [%s] 1 %s = %.4f %s", name, kuerzel, "$", + kurs / (double) TEILER, kuerzel); + } + + /** + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((name == null) ? 0 : name.hashCode()); + result = prime * result + kurs; + result = prime * result + ((kuerzel == null) ? 0 : kuerzel.hashCode()); + return result; + } + + /** + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + Waehrung other = (Waehrung) obj; + if (name == null) { + if (other.name != null) { + return false; + } + } + else if (!name.equals(other.name)) { + return false; + } + if (kurs != other.kurs) { + return false; + } + if (kuerzel == null) { + return other.kuerzel == null; + } + else { + return kuerzel.equals(other.kuerzel); + } + } +} diff --git a/sources/src/main/java/pr2/intro/junit_faculty/Fakultaet.java b/sources/src/main/java/pr2/intro/junit_faculty/Fakultaet.java new file mode 100644 index 0000000..2f31efa --- /dev/null +++ b/sources/src/main/java/pr2/intro/junit_faculty/Fakultaet.java @@ -0,0 +1,14 @@ +package pr2.intro.junit_faculty; + +public class Fakultaet { + + /** + * Berechnet die Fakultät fuer die gegebene Zahl. + * + * @param n Zahl für die die Fakultät berechnet werden soll. + * @return die Fakultät + */ + public int fact(int n) { + return (n == 0) ? 1 : n * fact(n - 1); + } +} diff --git a/sources/src/main/java/pr2/intro/junit_faculty/test/FakultaetTest.java b/sources/src/main/java/pr2/intro/junit_faculty/test/FakultaetTest.java new file mode 100644 index 0000000..c63a0d3 --- /dev/null +++ b/sources/src/main/java/pr2/intro/junit_faculty/test/FakultaetTest.java @@ -0,0 +1,13 @@ +package pr2.intro.junit_faculty.test; + +import org.junit.jupiter.api.Test; +import pr2.intro.junit_faculty.Fakultaet; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class FakultaetTest { + + @Test + void testFact() { + } +} diff --git a/sources/src/main/java/pr2/strukturierung/jars_einbinden/PieChart.java b/sources/src/main/java/pr2/strukturierung/jars_einbinden/PieChart.java new file mode 100644 index 0000000..c84afac --- /dev/null +++ b/sources/src/main/java/pr2/strukturierung/jars_einbinden/PieChart.java @@ -0,0 +1,59 @@ +package pr2.strukturierung.jars_einbinden; + +import javax.swing.JFrame; + +// TODO: Einkommentieren +//import org.jfree.chart.ChartFactory; +//import org.jfree.chart.ChartPanel; +//import org.jfree.chart.JFreeChart; +//import org.jfree.chart.plot.PiePlot3D; +//import org.jfree.data.general.DefaultPieDataset; + +/** + * Fenster mit der Torten-Grafik. + */ +public final class PieChart { + + /** + * Konstruktor. + */ + private PieChart() { + // keine Objekte benötigt. + } + + /** + * Main-Methode. + * + * @param args Kommandozeilen-Argumente + */ + public static void main(String[] args) { + +// TODO: Einkommentieren +// final String title = "Welches ist Euer Lieblingsspiel?"; +// +// JFrame jframe = new JFrame(title); +// jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); +// +// DefaultPieDataset dataset = new DefaultPieDataset(); +// dataset.setValue("GTA V", 20); +// dataset.setValue("Fortnite", 30); +// dataset.setValue("Elden Ring", 15); +// dataset.setValue("Horizon Forbidden West", 35); +// +// JFreeChart chart = ChartFactory.createPieChart3D( +// title, +// dataset, +// true, +// true, +// false); +// +// PiePlot3D plot = (PiePlot3D) chart.getPlot(); +// plot.setForegroundAlpha(0.6f); +// +// ChartPanel chartPanel = new ChartPanel(chart); +// chartPanel.setPreferredSize(new java.awt.Dimension(500, 270)); +// jframe.setContentPane(chartPanel); +// jframe.pack(); +// jframe.setVisible(true); + } +}