diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..4943bea
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ea03d78
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/.metadata/
diff --git a/.project b/.project
new file mode 100644
index 0000000..60a0ff0
--- /dev/null
+++ b/.project
@@ -0,0 +1,17 @@
+
+
+ Programmierung2
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/Programmierung2/src/Übungen/Abrechnung.java b/Programmierung2/src/Übungen/Abrechnung.java
new file mode 100644
index 0000000..c7d9033
--- /dev/null
+++ b/Programmierung2/src/Übungen/Abrechnung.java
@@ -0,0 +1,26 @@
+public abstract class Abrechnung {
+ private int periode;
+ private Mitarbeiter mitarbeiter;
+
+ public Abrechnung(int periode, Mitarbeiter m){
+
+ this.periode = periode;
+ this.mitarbeiter = m;
+ }
+
+ public int getPeriode() {
+
+ return this.periode;
+ }
+ public Mitarbeiter getMitarbeiter() {
+
+ return this.mitarbeiter;
+ }
+ public abstract double getVerdienst();
+
+ @Override
+ public String toString() {
+ return "Periode= " + periode + ", Mitarbeiter= " + mitarbeiter.toString() + ", Verdienst= " + getVerdienst();
+ }
+
+}
\ No newline at end of file
diff --git a/Programmierung2/src/Übungen/GehaltsAbrechnung.java b/Programmierung2/src/Übungen/GehaltsAbrechnung.java
new file mode 100644
index 0000000..04d776e
--- /dev/null
+++ b/Programmierung2/src/Übungen/GehaltsAbrechnung.java
@@ -0,0 +1,15 @@
+public class GehaltsAbrechnung extends Abrechnung {
+
+ private double gehalt;
+
+ public GehaltsAbrechnung(int periode, Mitarbeiter m, double gehalt){
+
+ super(periode, m);
+ this.gehalt = gehalt;
+ }
+
+ @Override
+ public double getVerdienst() {
+ return this.gehalt;
+ }
+}
diff --git a/Programmierung2/src/Übungen/Lohnabrechnung.java b/Programmierung2/src/Übungen/Lohnabrechnung.java
new file mode 100644
index 0000000..e7560f5
--- /dev/null
+++ b/Programmierung2/src/Übungen/Lohnabrechnung.java
@@ -0,0 +1,17 @@
+public class Lohnabrechnung extends Abrechnung {
+
+ private double stundenLohn;
+ private double anzahlStunden;
+
+ public Lohnabrechnung(int periode, Mitarbeiter m, double stundenLohn, int anzahlStunden){
+
+ super(periode, m);
+ this.stundenLohn = stundenLohn;
+ this.anzahlStunden = anzahlStunden;
+ }
+
+ public double getVerdienst(){
+
+ return stundenLohn * anzahlStunden;
+ }
+}
diff --git a/Programmierung2/src/Übungen/Mitarbeiter.java b/Programmierung2/src/Übungen/Mitarbeiter.java
new file mode 100644
index 0000000..35a7b06
--- /dev/null
+++ b/Programmierung2/src/Übungen/Mitarbeiter.java
@@ -0,0 +1,26 @@
+public class Mitarbeiter {
+ protected int id;
+ protected String name;
+ private static int counterID = 0;
+
+
+ public Mitarbeiter(){}
+
+ public Mitarbeiter(String name){
+
+ this.id = ++counterID;
+ this.name = name;
+ }
+
+ public String getName(){
+ return name;
+ }
+ public void setName(String name){
+ this.name = name;
+ }
+
+ @Override
+ public String toString(){
+ return "Name = " + name + ", Id = " + id;
+ }
+}
diff --git a/Programmierung2/src/Übungen/Nacnhrichten.java b/Programmierung2/src/Übungen/Nacnhrichten.java
new file mode 100644
index 0000000..f4d5c19
--- /dev/null
+++ b/Programmierung2/src/Übungen/Nacnhrichten.java
@@ -0,0 +1,20 @@
+
+import java.util.ArrayList;
+
+public class Nacnhrichten{
+
+
+ public static ArrayList nachrichtenlists = new ArrayList<>();
+
+
+
+ public static void addMessage(String message) {
+ nachrichtenlists.add(message);
+ }
+
+ public static void printNachrichtLists() {
+ for (String nachricht : nachrichtenlists)
+ System.out.println(nachricht);
+ }
+
+}
diff --git a/Programmierung2/src/Übungen/PersonalVerwaltung.java b/Programmierung2/src/Übungen/PersonalVerwaltung.java
new file mode 100644
index 0000000..648a974
--- /dev/null
+++ b/Programmierung2/src/Übungen/PersonalVerwaltung.java
@@ -0,0 +1,44 @@
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+
+public class PersonalVerwaltung extends Mitarbeiter {
+
+ ArrayList mitarbeiterList = new ArrayList<>();
+ ArrayList AbrechnungenList = new ArrayList<>();
+
+ public void setAbrechnung(Abrechnung ab){
+ this.AbrechnungenList.add(ab);
+ }
+
+ public ArrayList getAbrechnungs(){
+
+ return this.AbrechnungenList;
+ }
+
+ public void removeAbrechnung(Abrechnung ab){
+
+ if (this.AbrechnungenList.contains(ab))
+ this.AbrechnungenList.remove(ab);
+ else
+ System.err.println("Abrechnung ist nicht da!");
+ }
+
+
+ public void setMitarbeiter(Mitarbeiter ma){
+
+ this.mitarbeiterList.add(ma);
+ }
+ public ArrayList getMitarbeiter(){
+
+ return mitarbeiterList;
+ }
+
+ public void removeMitarbeiter(Mitarbeiter m1){
+ if (this.mitarbeiterList.contains(m1))
+ this.mitarbeiterList.remove(m1);
+ else
+ System.err.println("Mitarbeiter existiert nicht!");;
+ }
+
+
+}
diff --git a/Programmierung2/src/Übungen/Radio.java b/Programmierung2/src/Übungen/Radio.java
new file mode 100644
index 0000000..12cf8bb
--- /dev/null
+++ b/Programmierung2/src/Übungen/Radio.java
@@ -0,0 +1,59 @@
+public class Radio {
+ boolean eingeschaltet;
+ int lautstaerker;
+ double frequenz;
+
+ public Radio(){}
+
+ public Radio(boolean eingeschaltet, int lautstaerker, double frequenz){
+
+ this.eingeschaltet = eingeschaltet;
+ this.lautstaerker = lautstaerker;
+ this.frequenz = frequenz;
+ }
+
+ public void lauter(){
+ if (this.eingeschaltet)
+ while (lautstaerker <= 10)
+ lautstaerker++;
+ else
+ System.err.println("Das Radio ist aus!");
+
+ System.out.println("Lautstärke des Radios= "+ lautstaerker);
+ }
+
+ public void leiser(){
+ if (this.eingeschaltet)
+ while (lautstaerker >= 0)
+ lautstaerker--;
+ else
+ System.out.println("Das Radio ist aus!");
+
+ System.out.println("Lautstärke des Radios= "+ lautstaerker);
+ }
+
+ public String an(){
+ this.eingeschaltet = true;
+ return "an";
+ }
+
+ public boolean aus(){
+ return this.eingeschaltet = false;
+ }
+
+ public void waehleSender(double frequenz){
+ if (frequenz < 85.0 || frequenz > 110.0)
+ this.frequenz = 99.9;
+ else
+ this.frequenz = frequenz;
+ }
+
+ @Override
+ public String toString(){
+ if (this.eingeschaltet)
+ return"Radio an: Freq = " + this.frequenz + ", Laut = " + this.lautstaerker;
+
+ return "Radio ist aus!";
+ }
+
+}
diff --git a/Programmierung2/src/Übungen/TestMitarbeiter.java b/Programmierung2/src/Übungen/TestMitarbeiter.java
new file mode 100644
index 0000000..1cb5e53
--- /dev/null
+++ b/Programmierung2/src/Übungen/TestMitarbeiter.java
@@ -0,0 +1,19 @@
+public class TestMitarbeiter {
+
+ public static void main(String[] args) {
+ Mitarbeiter m1 = new Mitarbeiter("obai");
+ System.out.println(m1.toString());
+
+ Mitarbeiter m2 = new Mitarbeiter("Omar");
+
+ PersonalVerwaltung p1 = new PersonalVerwaltung();
+ p1.setMitarbeiter(m1);
+ p1.setMitarbeiter(m2);
+ p1.removeMitarbeiter(m1);
+ System.out.println(p1.getMitarbeiter());
+
+ GehaltsAbrechnung gh1 = new GehaltsAbrechnung(124, m2, 40);
+ System.out.println(gh1.toString());
+
+ }
+}
diff --git a/Programmierung2/src/Übungen/TestRadio.java b/Programmierung2/src/Übungen/TestRadio.java
new file mode 100644
index 0000000..4e5742f
--- /dev/null
+++ b/Programmierung2/src/Übungen/TestRadio.java
@@ -0,0 +1,12 @@
+public class TestRadio {
+
+ public static void main(String[] args) {
+ Radio r1 = new Radio(true,2,90);
+ //System.out.println(r1.toString());
+ r1.waehleSender(75.0);
+ // System.out.println(r1.toString());
+ r1.aus();
+ System.out.println(r1.toString());
+ }
+
+}
diff --git a/Programmierung2/src/Übungen/Tic_Tac_Toe.java b/Programmierung2/src/Übungen/Tic_Tac_Toe.java
new file mode 100644
index 0000000..6891b27
--- /dev/null
+++ b/Programmierung2/src/Übungen/Tic_Tac_Toe.java
@@ -0,0 +1,110 @@
+import java.util.Scanner;
+
+public class Tic_Tac_Toe {
+ static Scanner scan = new Scanner(System.in);
+ static String[][] spielField = new String[3][3];
+ static final String playerx = "x" ;
+ static final String playero = "o" ;
+
+ public static void main(String[] args){
+
+
+ printSpielfeld();
+ while (true) {
+ System.out.println("Bitte geben Sie 'x' und neue Position ein: ");
+ String playerx =scan.nextLine();
+ int x = scan.nextInt();
+ int y = scan.nextInt();
+ while (!checkSet(playerx, x, y)) {
+ scan.nextLine();
+ System.out.println("Falsche Eingabe! Versuchen Sie nochmal: ");
+ playerx =scan.nextLine();
+ x = scan.nextInt();
+ y = scan.nextInt();
+ if (checkSet(playerx, x, y))
+ break;
+ }
+ ausgabeSpielFeld(playerx, x, y);
+ if (checkGewinner(playerx)) {
+ System.out.println("Spieler X hat gewonnen!");
+ break;
+ }
+ scan.nextLine();
+
+ System.out.println("Bitte geben Sie 'O' und neue Position ein: ");
+ String playero =scan.nextLine();
+ x = scan.nextInt();
+ y = scan.nextInt();
+ while (!checkSet(playero, x, y)) {
+ scan.nextLine();
+ System.out.println("Falsche Eingabe! Versuchen Sie nochmal: ");
+ playero =scan.nextLine();
+ x = scan.nextInt();
+ y = scan.nextInt();
+ }
+ ausgabeSpielFeld(playero, x, y);
+ if (checkGewinner(playero)) {
+ System.out.println("Spieler O hat gewonnen!");
+ break;
+ }
+ scan.nextLine();
+ }
+ }
+
+ public static boolean checkSet(String X_O, int x, int y){
+ if ( x < 0 || x > 2 || y < 0 || y > 2)
+ return false;
+
+ if (!(spielField[x][y].equals("-")) )
+ return false;
+
+ return true;
+ }
+
+ public static boolean checkGewinner(String player){
+ for(int i = 0 ; i < 3; i++){
+ if (spielField[i][0].equals(player) && spielField[i][1].equals(player) && spielField[i][2].equals(player))
+ return true;
+ }
+ for (int i = 0; i < 3; i++){
+ if (spielField[0][i].equals(player) &&spielField[1][i].equals(player) &&spielField[2][i].equals(player))
+ return true;
+ }
+ if (spielField[0][0].equals(player)&& spielField[1][1].equals(player)&& spielField[2][2].equals(player))
+ return true;
+
+ if (spielField[0][2].equals(player)&& spielField[1][1].equals(player)&& spielField[2][0].equals(player))
+ return true;
+
+ return false;
+ }
+
+ public static void ausgabeSpielFeld(String X_O, int x, int y){
+ spielField[x][y] = X_O;
+ for (int i = 0; i < 3; i++){
+ for (int j = 0; j < 3; j++){
+ System.out.print(spielField[i][j] + "|");
+ }
+ System.out.println();
+ }
+
+
+
+ }
+ public static void printSpielfeld(){
+ for (int i = 0; i < 3; i++){
+ for (int j = 0; j < 3; j++){
+ if (j == 2){
+ spielField[i][j] = "-";
+ System.out.print(spielField[i][j]);
+ }else{
+ spielField[i][j] = "-";
+ System.out.print(spielField[i][j]);
+ System.out.print("|");
+ }
+ }
+ System.out.println();
+ }
+
+ }
+}
diff --git a/Programmierung2/src/Übungen/Whatsapp.java b/Programmierung2/src/Übungen/Whatsapp.java
new file mode 100644
index 0000000..f4ed4d2
--- /dev/null
+++ b/Programmierung2/src/Übungen/Whatsapp.java
@@ -0,0 +1,107 @@
+import java.util.ArrayList;
+
+public class Whatsapp extends Nacnhrichten {
+ private String name;
+ private String teleN;
+ private String nachricht;
+ private Whatsapp empf;
+ private ArrayList speicherContact;
+ private ArrayList speicherNummern;
+
+
+
+ public Whatsapp(){}
+
+ public Whatsapp(String name, String teleN) {
+ this.name = name;
+ this.teleN = teleN;
+ this.nachricht = null;
+ this.empf = null;
+ this.speicherContact = new ArrayList<>();
+ this.speicherNummern = new ArrayList<>();
+
+ }
+
+ public void sendeNachricht(Whatsapp empf , String nachricht) {
+ this.empf = empf;
+ this.empf.setNachricht(nachricht);
+ nachrichtenlists.add(getSendeNachricht());
+
+ }
+
+ public void addContact(String name, String teleN){
+ if (name != null && teleN != null){
+ speicherContact.add(name);
+ speicherNummern.add(teleN);
+ }
+
+
+ }
+
+ public String searchContact(String name){
+ for (int i = 0; i getContact(){
+ return this.speicherContact;
+ }
+
+ public void printContacte(){
+ System.out.println("Deine KontaktListe: ");
+ for (int i = 0; i < speicherContact.size(); i++){
+ System.out.println("Name: " + speicherContact.get(i) + ", Telefonnummer: " + speicherNummern.get(i));
+ }
+
+ }
+
+ public String getSendeNachricht() {
+ return this.name + " sendet zu "+ this.empf.name + " : " + this.empf.getNachricht();
+
+ }
+
+ public void getNachrichten() {
+ Nacnhrichten.addMessage(this.getSendeNachricht());
+
+ }
+ public ArrayList getnachrichtenlists() {
+
+ return nachrichtenlists;
+ }
+
+
+
+
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public String getTeleN() {
+ return teleN;
+ }
+ public void setTeleN(String teleN) {
+ this.teleN = teleN;
+ }
+ public String getNachricht() {
+ return nachricht;
+ }
+ public void setNachricht(String nachricht) {
+ this.nachricht = nachricht;
+ }
+
+
+ @Override
+ public String toString() {
+ return "Whatsapp [name=" + name + ", teleN=" + teleN + "]";
+ }
+
+
+
+
+
+
+}
\ No newline at end of file
diff --git a/Programmierung2/src/Übungen/WhatsappTest.java b/Programmierung2/src/Übungen/WhatsappTest.java
new file mode 100644
index 0000000..2a2e29f
--- /dev/null
+++ b/Programmierung2/src/Übungen/WhatsappTest.java
@@ -0,0 +1,16 @@
+import java.util.ArrayList;
+
+public class WhatsappTest {
+
+ public static void main(String[] args) {
+ Whatsapp obai = new Whatsapp("obai", "049321384324");
+ Whatsapp omar = new Whatsapp("Omar", "049321384324");
+
+ obai.sendeNachricht(omar, "Hallo");
+ omar.sendeNachricht(obai, "Hi");
+
+ Nacnhrichten.printNachrichtLists();
+
+ }
+
+}