first Commit

master
MHD Amin Bkdaliya 2024-04-20 16:04:43 +02:00
parent dce26e9170
commit f15b1caa46
107 changed files with 112 additions and 35 deletions

View File

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

View File

@ -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
PR2_UIB/.gitignore vendored
View File

@ -1 +0,0 @@
/bin/

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -0,0 +1,4 @@
3
4.5
14.7
2

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

Some files were not shown because too many files have changed in this diff Show More