first Commit
parent
dce26e9170
commit
f15b1caa46
Before Width: | Height: | Size: 174 KiB After Width: | Height: | Size: 174 KiB |
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="Exercises"/>
|
||||
<classpathentry kind="src" path="Moodle_Uebungen"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -1 +0,0 @@
|
|||
/bin/
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>PR2_UIB</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,6 @@
|
|||
Aufgabe 1:
|
||||
Schreiben Sie ein Java-Programm, das die Datei "personen" liest,
|
||||
Objekte entsprechend der Rolle der Person erstellt und eine Liste aller Personen ausgibt.
|
||||
Implementieren Sie Klassen für Person, Employee und Manager, die die entsprechenden Attribute und Methoden enthalten.
|
||||
Verwenden Sie Vererbung, um die Beziehung zwischen den Klassen darzustellen.
|
||||
Das Programm sollte auch die jährlichen Einkommen für jede Person berechnen und ausgeben.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,17 @@
|
|||
Person
|
||||
Name: John Doe
|
||||
Age: 30
|
||||
Salary: 50000
|
||||
|
||||
Employee
|
||||
Name: Alice Smith
|
||||
Age: 25
|
||||
Salary: 60000
|
||||
Department: Engineering
|
||||
|
||||
Manager
|
||||
Name: Bob Johnson
|
||||
Age: 35
|
||||
Salary: 70000
|
||||
Department: Management
|
||||
Bonus: 10000
|
|
@ -0,0 +1,12 @@
|
|||
Aufgabe 2:
|
||||
Schreiben Sie ein Java-Programm, das die Datei "people" liest dabei soll nur jede zweite Zeile eingelesen wird,
|
||||
Objekte entsprechend der Rolle der Person erstellt und eine Liste aller Personen ausgibt.
|
||||
Implementieren Sie Klassen und die entsprechenden Attribute und Methoden.
|
||||
Verwenden Sie Vererbung, um die Beziehung zwischen den Klassen darzustellen.
|
||||
Das Programm sollte auch die jährlichen Einkommen für jede Person berechnen und ausgeben.
|
||||
Implementieren Sie eine Methode, die das Durchschnittsalter für "people" berechnet und zurückgibt.
|
||||
Schreibe ein Hauptprogramm, das eine Liste von Zahlen aus einer Binärdatei src/main/resources/years.dat liest,
|
||||
die Zahlen enthält.
|
||||
Für jede Zahl X aus der Datei gib die Mitarbeiter aus, die X oder mehr Jahre Betriebszugehörigkeit haben, aber weniger als X+1.
|
||||
|
||||
Tipp: Verwende java.time.Period.between, um die Differenz zwischen den Daten zu berechnen.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,7 @@
|
|||
Person 15.05.2017 Max 25 1.75
|
||||
xxxxxxxxxxxxxxxxxxxx
|
||||
Student 12.09.2020 Lisa 20 1.60 Physics
|
||||
xxxxxxxxxxxxxxxxxxxx
|
||||
Employee 04.04.2010 John 30 1.80 50000
|
||||
yyyyyyyyyyyyyyyyyyyy
|
||||
Teacher 08.03.2009 Emma 35 1,70 Math
|
|
@ -0,0 +1,4 @@
|
|||
3
|
||||
4.5
|
||||
14.7
|
||||
2
|
|
@ -0,0 +1,25 @@
|
|||
Programmieren 2 Übungsstunde 15.04 Input/Output Grundlagen
|
||||
|
||||
1. DoubleFormatter
|
||||
Implementiere eine Methode printDouble,
|
||||
die eine Dezimalzahl entgegennimmt und sie auf eine bestimmte Anzahl von Nachkommastellen gerundet ausgibt.
|
||||
Die Methode soll keine printf-Anweisung verwenden, sondern den gerundeten Wert selbst berechnen und ausgeben.
|
||||
|
||||
2. Clone:
|
||||
fügen Sie der Klasse Alien eine clone()-Methode hinzu,
|
||||
die eine tiefe Kopie der Objekte anlegt.
|
||||
Hierzu müssen Sie auch Raumanzug mit einer clone()-Methode ausstatten.
|
||||
Testen Sie, ob Ihre Implementierung korrekt funktioniert, indem Sie die vorhandenen Testfälle ausführen.
|
||||
Damit die Tests laufen können, müssen Sie die Kommentarzeichen entfernen.
|
||||
|
||||
3. BufferedWriter/Reader:
|
||||
Schreiben Sie die Datei Mondnacht.txt per BufferedWriter in Java und Lesen Sie die Datei Mondnacht.txt zeilenweise ein und geben
|
||||
Sie die Zeilen mit einer fortlaufenden Zeilennummer wieder aus.
|
||||
Dazu soll noch die Anzahl der Wörter, Buchstaben und Zeilen am Ende ausgegeben werden. Verwenden Sie hierzu einen BufferedReader.
|
||||
|
||||
4. Serialisierung:
|
||||
Serialisieren Sie die Klasse Produkt und testen Sie ob die Serialisierung funktioniert hat.
|
||||
|
||||
5. Bonus:
|
||||
Implementieren Sie eine Methode convertDate, die ein Datum im Format "dd.MM.yyyy" entgegennimmt und es in das Format "yyyy-MM-dd" konvertiert.
|
||||
Die Methode soll einen String zurückgeben, der das konvertierte Datum darstellt.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,6 @@
|
|||
Mondnacht
|
||||
Es war, als hätt' der Himmel
|
||||
Die Erde still geküsst,
|
||||
Dass sie im Blütenschimmer
|
||||
Von ihm nun träumen müsst.
|
||||
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,23 @@
|
|||
Übung 1
|
||||
In dieser Übung soll ein fiktives Bankverwaltungssystem implementiert werden.
|
||||
Die Bank möchte dabei zwischen Geschäfts- und Privatkunden unterscheiden:
|
||||
|
||||
+ Erstellen Sie ein Java-Programm mit folgenden Klassen:
|
||||
- Kunde als Oberklasse
|
||||
- Geschäfts- und Privatkunde als abgeleitete Unterklassen
|
||||
- Definieren sie dafür das package "verwaltung.kunden"
|
||||
|
||||
+ Definieren Sie für jede Klasse zwei bis drei sinnvolle Attribute und Methoden.
|
||||
- Erstellen Sie Konstruktoren für alle Klassen und achten Sie implementieren diese so, dass sie super() verwenden können
|
||||
- Begründen Sie die Zugrrifsrechte zu jedes Attributes und jeder Methode mit Hilfe von Quelltext-Kommentare
|
||||
- Dokumentierte Sie die Methoden mit Hilfe des Javadoc-Formats
|
||||
- Erzeugen Sie in der Klasse Auftrag eine Klassenvariable Auftragsnummer.
|
||||
Können Sie darauf zugreifen, ohne ein Objekt erzeugt zu haben?
|
||||
|
||||
+ Gibt es Unterschiede und wenn ja, führen diese zu einer Revision ihres Quelltexts?
|
||||
|
||||
+ Finden Sie heraus, wie Adressen von Variablen in Java ausgegeben werden können.
|
||||
Erzeugen Sie skalare und zusammengesetzte Datentypen (also Objekte) und lassen Sie sich deren Adressen ausgeben.
|
||||
Als zusammengesetzten Datentyp deklarieren Sie eine Adress-Klasse (Name, Straße, PLZ, Wohnort) assoziieren dies mit der Kunden-Klasse.
|
||||
|
||||
+ Greifen Sie nun auf skalare und zusammengesetzte Attribute für das obige Beispiel zu und prüfen Sie mit Hilfe der Adressaufgabe, ob eine Kopie oder die Referenz übergeben wurde.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,11 @@
|
|||
1. Erstellen Sie ein persönliches git-Repository,
|
||||
da wir die folgenden Aufgaben möglicherweise noch erweitern werden.
|
||||
|
||||
2. Schreiben Sie eine Java-Klasse, welche die (sinnvolle!) Ausführung des unter dem Dateinamen DemoKonsole.java ermöglicht.
|
||||
Schreiben Sie dazu auch entsprechende Unit-Tests. Aktualisieren Sie ihr Repository spätestens nach einer Übungsstunde.
|
||||
|
||||
3. Erstellen Sie basierend auf den angefügten Klassendiagramm und der Klasse ZaehlerUI.java die entsprechenden Klassen,
|
||||
Attribute und Methoden, im das Programm ausführen zu können. Was passiert, wenn Sie die super.clone()-Anweisungen weglassen?
|
||||
|
||||
4. Erweitern Sie das beigefügte Paket zur Indexverwaltung.zip, so dass es lauffähig ist. Fügen Sie auch hier angemessen Unit-Tests hinzu.
|
||||
Bitte denken Sie nochmals daran, für die Teile 2. bis 4. jeweils ein git-Repositoroy anzulegen!
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue