diff --git a/Programmierung2/src/Algorithmus/String Pool.pdf b/Programmierung2/src/Algorithmus/String Pool.pdf new file mode 100644 index 0000000..61c66c6 Binary files /dev/null and b/Programmierung2/src/Algorithmus/String Pool.pdf differ diff --git a/Programmierung2/src/DesignPatterns/All Design Patterns.odt b/Programmierung2/src/DesignPatterns/All Design Patterns.odt deleted file mode 100644 index ccc36b0..0000000 Binary files a/Programmierung2/src/DesignPatterns/All Design Patterns.odt and /dev/null differ diff --git a/Programmierung2/src/DesignPatterns/All Design Patterns.pdf b/Programmierung2/src/DesignPatterns/All Design Patterns.pdf new file mode 100644 index 0000000..a68ccd3 Binary files /dev/null and b/Programmierung2/src/DesignPatterns/All Design Patterns.pdf differ diff --git a/Programmierung2/src/DesignPatterns/strukturellen_Entwurfsmustern/FacadePattern/Fassade.pdf b/Programmierung2/src/DesignPatterns/strukturellen_Entwurfsmustern/FacadePattern/Fassade.pdf new file mode 100644 index 0000000..bf96d88 Binary files /dev/null and b/Programmierung2/src/DesignPatterns/strukturellen_Entwurfsmustern/FacadePattern/Fassade.pdf differ diff --git a/Programmierung2/src/DesignPatterns/structural design patterns.pdf b/Programmierung2/src/DesignPatterns/strukturellen_Entwurfsmustern/structural design patterns.pdf similarity index 100% rename from Programmierung2/src/DesignPatterns/structural design patterns.pdf rename to Programmierung2/src/DesignPatterns/strukturellen_Entwurfsmustern/structural design patterns.pdf diff --git a/Programmierung2/src/FassadenKlasse/Fassade Entwurf.odt b/Programmierung2/src/FassadenKlasse/Fassade Entwurf.odt deleted file mode 100644 index d13e5c8..0000000 Binary files a/Programmierung2/src/FassadenKlasse/Fassade Entwurf.odt and /dev/null differ diff --git a/Programmierung2/src/FassadenKlasse/Fassadenklasse.java b/Programmierung2/src/FassadenKlasse/Fassadenklasse.java deleted file mode 100644 index 4c712bc..0000000 --- a/Programmierung2/src/FassadenKlasse/Fassadenklasse.java +++ /dev/null @@ -1,68 +0,0 @@ -package FassadenKlasse; -/*In Allgemein: Also zu verstehe ist, das Fassade-Muster hilft dabei - * , die Komplexität eines Systems zu verbergen und es für den Benutzer einfacher zu machen - * , mit dem System zu interagieren. - */ - - // Subsystem-Klasse für Speicherverwaltung - class Speicher { - public void initialisiereSpeicher() { - System.out.println("Speicher wird initialisiert..."); - } - } - - // Subsystem-Klasse für Prozessorverwaltung - class Prozessor { - public void initialisiereProzessor() { - System.out.println("Prozessor wird initialisiert..."); - } - } - - // Subsystem-Klasse für Eingabegeräteverwaltung - class Eingabegeräte { - public void initialisiereEingabegeräte() { - System.out.println("Eingabegeräte werden initialisiert..."); - } - } - - // Subsystem-Klasse für Netzwerkverwaltung - class Netzwerk { - public void initialisiereNetzwerk() { - System.out.println("Netzwerk wird initialisiert..."); - } - } - - // Fassade-Klasse, die eine einfache Schnittstelle bereitstellt - class ComputersystemFassade { - private Speicher speicher; - private Prozessor prozessor; - private Eingabegeräte eingabegeräte; - private Netzwerk netzwerk; - - public ComputersystemFassade() { - this.speicher = new Speicher(); - this.prozessor = new Prozessor(); - this.eingabegeräte = new Eingabegeräte(); - this.netzwerk = new Netzwerk(); - } - - // Die Fassade-Methode, die das System startet - public void systemStarten() { - System.out.println("Systemstart wird vorbereitet..."); - speicher.initialisiereSpeicher(); - prozessor.initialisiereProzessor(); - eingabegeräte.initialisiereEingabegeräte(); - netzwerk.initialisiereNetzwerk(); - System.out.println("System erfolgreich gestartet!"); - } - } - - // Client-Code, der die Fassade verwendet - public class Fassadenklasse { - public static void main(String[] args) { - // Der Client verwendet die Fassade, um das System zu starten - ComputersystemFassade fassade = new ComputersystemFassade(); - fassade.systemStarten(); - } - } - diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatFenster.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatFenster.java new file mode 100644 index 0000000..410f47c --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatFenster.java @@ -0,0 +1,33 @@ +package GUIAnwendungen.Meine_GUI_Chat; + +public class ChatFenster { + + private User user; + private Chat_Fenster chat; + + ChatFenster(User user) { + this.user = user; + chat = new Chat_Fenster(); + zeigeName(); + } + + public void zeigeName() { + chat.zeigeName(user.getName()); + } + + public User getUser() { + return user; + } + + public Chat_Fenster getChat() { + return chat; + } + + public void empfangeNachricht(String nachricht) { + chat.sendText(nachricht); + } + + public void sendeNachricht(String nachricht) { + chat.sendText(user.getName() + ": " + nachricht); + } +} diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatManager.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatManager.java new file mode 100644 index 0000000..cb8bc66 --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatManager.java @@ -0,0 +1,27 @@ +package GUIAnwendungen.Meine_GUI_Chat; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class ChatManager implements ActionListener { + + private ChatFenster sender; + private ChatFenster receiver; + + ChatManager(ChatFenster sender, ChatFenster receiver) { + this.sender = sender; + this.receiver = receiver; + sender.getChat().getSendeNachricht().addActionListener(this); + receiver.getChat().getSendeNachricht().addActionListener(this); + } + + @Override + public void actionPerformed(ActionEvent e) { + String nachricht = sender.getChat().getEingabeNachricht().getText(); + if (!nachricht.isEmpty()) { + sender.sendeNachricht(nachricht); + receiver.empfangeNachricht(sender.getUser().getName() + ": " + nachricht); + sender.getChat().getEingabeNachricht().setText(""); + } + } +} \ No newline at end of file diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Chat_Fenster.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Chat_Fenster.java new file mode 100644 index 0000000..428c20a --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Chat_Fenster.java @@ -0,0 +1,87 @@ +package GUIAnwendungen.Meine_GUI_Chat; + +import java.awt.EventQueue; +import java.util.Scanner; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import java.awt.Color; +import javax.swing.JList; +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.JTextField; +import javax.swing.JButton; +import java.awt.Font; +import javax.swing.JLabel; + +public class Chat_Fenster extends JFrame { + + JPanel contentPane; + JTextField eingabeNachricht; + JTextArea nachrichtAnzeigen; + JButton sendeNachricht; + private JPanel panel; + JLabel userName; + + public Chat_Fenster() { + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 460, 665); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + + setContentPane(contentPane); + contentPane.setLayout(null); + + nachrichtAnzeigen = new JTextArea(); + nachrichtAnzeigen.setLineWrap(true); + nachrichtAnzeigen.setFont(new Font("Tahoma", Font.BOLD, 13)); + nachrichtAnzeigen.setForeground(new Color(0, 128, 255)); + nachrichtAnzeigen.setEnabled(false); + nachrichtAnzeigen.setBounds(10, 11, 311, 516); + contentPane.add(nachrichtAnzeigen); + + eingabeNachricht = new JTextField(); + eingabeNachricht.setBounds(10, 538, 227, 31); + contentPane.add(eingabeNachricht); + eingabeNachricht.setColumns(10); + + sendeNachricht = new JButton("sendeNachricht"); + sendeNachricht.setBounds(247, 542, 135, 27); + contentPane.add(sendeNachricht); + + panel = new JPanel(); + panel.setBackground(new Color(0, 128, 255)); + panel.setBounds(331, 11, 103, 168); + contentPane.add(panel); + panel.setLayout(null); + + userName = new JLabel("New label"); + userName.setBounds(10, 11, 83, 36); + panel.add(userName); + + this.setVisible(true); + + } + + public void sendText(String nachricht) { + nachrichtAnzeigen.append(nachricht); + nachrichtAnzeigen.append("\n"); + } + + public void zeigeName(String name) { + userName.setText(name); + } + + public JTextField getEingabeNachricht() { + return eingabeNachricht; + } + + public JButton getSendeNachricht() { + return sendeNachricht; + } + + + + +} diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Controller.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Controller.java deleted file mode 100644 index 1a48a3f..0000000 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Controller.java +++ /dev/null @@ -1,63 +0,0 @@ -package GUIAnwendungen.Meine_GUI_Chat; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -public class Controller { - - private Modell user1; - private View view; - private View_Hauptfenster h1 = new View_Hauptfenster(); - private String name; - private String password; - - Controller(Modell user, View view){ - this.user1 = user; - this.view = view; - } - - public boolean logIn() { - view.getLogIn().addActionListener(new ActionListener(){ - public void actionPerformed(ActionEvent e) { - name = view.getNameEingabe(); - password = view.getPasswordEingabe(); - user1 = new Modell(name,password); - view.zeigeUserInfos(); - view.schließeLoginFenster(); - zeigeHauptfenster(); - } - }); - return true; - } - - - public void zeigeHauptfenster() { - h1.zeigeBegrüße(user1.getName()); - - h1.setVisible(true); - } - - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public Modell getUser1() { - return user1; - } - - - -} diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Main.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Main.java new file mode 100644 index 0000000..a3b592d --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Main.java @@ -0,0 +1,20 @@ +package GUIAnwendungen.Meine_GUI_Chat; + +import java.util.Scanner; + +public class Main { + + public static void main(String[] args) { + + User obai = new User("obai Albek"); + ChatFenster obai_caht = new ChatFenster(obai); + + User omar = new User("Omar Albek"); + ChatFenster omar_chat = new ChatFenster(omar); + + ChatManager test = new ChatManager(obai_caht, omar_chat); + + + } + +} diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Modell.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Modell.java deleted file mode 100644 index d9ec80c..0000000 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Modell.java +++ /dev/null @@ -1,54 +0,0 @@ -package GUIAnwendungen.Meine_GUI_Chat; - -public class Modell { - - private String name; - private int kontostand; - private int id; - private String password; - private static int ID = 100; - - public Modell() {} - public Modell(String name, String password) { - this.name = name; - this.kontostand = 0; - this.password = password; - this.id = ++ID; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - - - public int getKontostand() { - return kontostand; - } - public void setKontostand(int kontostand) { - this.kontostand = kontostand; - } - //set ID ist nicht erlaubt - public int getId() { - return id; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - @Override - public String toString() { - return "[name=" + name + ", Kontostand=" + kontostand + ", id=" + id + ", password=" + password + "]"; - } -} - - diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Test.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Test.java deleted file mode 100644 index 9f45cc4..0000000 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Test.java +++ /dev/null @@ -1,13 +0,0 @@ -package GUIAnwendungen.Meine_GUI_Chat; - -public class Test { - - public static void main(String[] args) { - View user1View = new View(); - Modell user1 = new Modell(); - - Controller controller = new Controller(user1,user1View); - controller.logIn(); - } - -} diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/User.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/User.java new file mode 100644 index 0000000..0278f95 --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/User.java @@ -0,0 +1,42 @@ +package GUIAnwendungen.Meine_GUI_Chat; + +import java.util.ArrayList; + +public class User { + private String name; + + private int id; + private String nachricht; + private static int ID = 100; + private ArrayList nachrichten; + + public User(String name) { + super(); + this.name = name; + this.id = ID++; + nachrichten = new ArrayList<>(); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + + public int getId() { + return id; + } + + public String getNachricht() { + return nachricht; + } + + public void setNachricht(String nachricht) { + this.nachricht = nachricht; + } + + +} diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/View.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/View.java deleted file mode 100644 index 74aace1..0000000 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/View.java +++ /dev/null @@ -1,70 +0,0 @@ -package GUIAnwendungen.Meine_GUI_Chat; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPasswordField; -import javax.swing.JTextField; - -public class View extends JFrame { - - private JLabel title = new JLabel("Log in: "); - - private JLabel userName = new JLabel("Name: "); - private JTextField nameEingabe = new JTextField(); - private JLabel password = new JLabel("Password: "); - private JPasswordField passwordEingabe = new JPasswordField(); - private JButton logIn = new JButton("Log in"); - //(int x, int y, int width, int height) - - public View() { - this.setTitle("Log in"); - this.setVisible(true); - this.setSize(900, 650); - this.setLayout(null); - this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - - title.setBounds(10,20,120,20); - userName.setBounds(10,50,100,20); - nameEingabe.setBounds(140,50,140,20); - - password.setBounds(10,80,100,20); - passwordEingabe.setBounds(140,80,140,20); - logIn.setBounds(10,110,100,20); - - - this.add(title); - this.add(userName); - this.add(nameEingabe); - this.add(password); - this.add(passwordEingabe); - this.add(logIn); - - } - - public void zeigeUserInfos() { - JOptionPane.showMessageDialog(null, "Deine Log in war erfolgreich", "Log in Erfolgreich", JOptionPane.INFORMATION_MESSAGE); - } - - public String getNameEingabe() { - return nameEingabe.getText(); - } - - - public String getPasswordEingabe() { - return new String(passwordEingabe.getPassword()); - } - - public JButton getLogIn() { - return logIn; - } - - public void schließeLoginFenster() { - this.dispose(); // Schließt das aktuelle Fenster - } -} diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/View_Hauptfenster.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/View_Hauptfenster.java deleted file mode 100644 index 875e508..0000000 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/View_Hauptfenster.java +++ /dev/null @@ -1,36 +0,0 @@ -package GUIAnwendungen.Meine_GUI_Chat; - -import java.awt.Color; - -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; - -public class View_Hauptfenster extends JFrame{ - private JPanel panel = new JPanel(); - private JLabel begrüsse = new JLabel(); - - public View_Hauptfenster() { - panel.setBackground(Color.gray); - panel.setBounds(10, 10, 300, 300); - begrüsse.setBounds(10,10,100,30); - panel.add(begrüsse); - - this.setTitle("Das Hauptfenster"); - this.setVisible(false); - this.setLayout(null); - this.setSize(700, 700); - this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - this.add(panel); - - } - - public void zeigeBegrüße(String name) { - begrüsse.setText("Willkommen " + name); - } - - public static void main(String[]args) { - View_Hauptfenster test = new View_Hauptfenster(); - } - -} diff --git a/Programmierung2/src/Git/GitKurs.odt b/Programmierung2/src/Git/GitKurs.odt new file mode 100644 index 0000000..7a2db2a Binary files /dev/null and b/Programmierung2/src/Git/GitKurs.odt differ diff --git a/Programmierung2/src/LinkedList/Doubly/Test.java b/Programmierung2/src/LinkedList/Doubly/Test.java index fc8c9f2..49c002b 100644 --- a/Programmierung2/src/LinkedList/Doubly/Test.java +++ b/Programmierung2/src/LinkedList/Doubly/Test.java @@ -16,9 +16,7 @@ class Test { @org.junit.jupiter.api.Test void testaddLast() { - Node temp = list.addLast(12); - temp = list.addLast(112); - assertEquals(112,11); + } } diff --git a/Programmierung2/src/LinkedList/Generic/ElementenList.java b/Programmierung2/src/LinkedList/Generic/ElementenList.java index 86c9c4d..acb5313 100644 --- a/Programmierung2/src/LinkedList/Generic/ElementenList.java +++ b/Programmierung2/src/LinkedList/Generic/ElementenList.java @@ -1,12 +1,21 @@ package LinkedList.Generic; -public class ElementenList { - Node head; +public class ElementenList { + Node head; - public void addInt(T value) { + public void addInt(T value) { Node newNode = new Node<>(); newNode.value = value; + + head = newNode; + } + + + public static void main(String[] args) { + ElementenList test = new ElementenList<>(); + + } diff --git a/Programmierung2/src/MyCollections/List/My_ArrayList.java b/Programmierung2/src/MyCollections/List/My_ArrayList.java index cb816c2..07e03cc 100644 --- a/Programmierung2/src/MyCollections/List/My_ArrayList.java +++ b/Programmierung2/src/MyCollections/List/My_ArrayList.java @@ -18,8 +18,7 @@ public class My_ArrayList implements MyList { if (index >= arr.length) erstell_neue_array(); - arr[index] = e; - index++; + arr[index++] = e; return true; } public void erstell_neue_array() { diff --git a/Programmierung2/src/Thread/Thread-Sicherheit.pdf b/Programmierung2/src/Thread/Thread-Sicherheit.pdf new file mode 100644 index 0000000..e5531af Binary files /dev/null and b/Programmierung2/src/Thread/Thread-Sicherheit.pdf differ diff --git a/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/02_PR2-OOP.pdf b/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/02_PR2-OOP.pdf new file mode 100644 index 0000000..3f88dd7 Binary files /dev/null and b/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/02_PR2-OOP.pdf differ diff --git a/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Gebäude.java b/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Gebäude.java new file mode 100644 index 0000000..c627d12 --- /dev/null +++ b/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Gebäude.java @@ -0,0 +1,25 @@ +package VorlesungsFolien.Grundlagen_OOP; + +import java.util.ArrayList; +public class Gebäude { + private ArrayList räume = new ArrayList<>(); + + public int berechneGesamtzahlPlätze() { + int plätze = 0; + + for (Hörsaal h : this.räume) { + plätze += h.getPlätze(); + } + + return plätze; + } + + public void addHörsaal(Hörsaal hs) { + this.räume.add(hs); + } + + public ArrayList getRäume() { + return räume; + } + +} diff --git a/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Hörsaal.java b/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Hörsaal.java new file mode 100644 index 0000000..9366972 --- /dev/null +++ b/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Hörsaal.java @@ -0,0 +1,19 @@ +package VorlesungsFolien.Grundlagen_OOP; + +public class Hörsaal { + private String name; + private int plätze; + + public Hörsaal(String name, int plätze) { + this.name = name; + this.plätze = plätze; + } + + public String getName() { + return name; + } + + public int getPlätze() { + return plätze; + } +} diff --git a/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Main.java b/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Main.java new file mode 100644 index 0000000..ccc9834 --- /dev/null +++ b/Programmierung2/src/VorlesungsFolien/Grundlagen_OOP/Main.java @@ -0,0 +1,20 @@ +package VorlesungsFolien.Grundlagen_OOP; + + +public class Main { + + public static void main(String[] args) { + Gebäude a = new Gebäude(); + a.addHörsaal(new Hörsaal("A210", 50)); + a.addHörsaal(new Hörsaal("A212", 40)); + + System.out.println(a.berechneGesamtzahlPlätze()); + + // nachträgliche Ergänzung + // hier holen wir die Referenz auf den 1. Hörsaal auf den Stack + Hörsaal hs = a.getRäume().get(0); + System.out.println(hs.getPlätze()); + + } + +} diff --git a/Programmierung2/src/WindowBuilder-Updates-1.15.0.zip b/Programmierung2/src/WindowBuilder-Updates-1.15.0.zip new file mode 100644 index 0000000..6d5a83d Binary files /dev/null and b/Programmierung2/src/WindowBuilder-Updates-1.15.0.zip differ diff --git a/Programmierung2/src/oop/Dynamische_Statisch Bindung.pdf b/Programmierung2/src/oop/Dynamische_Statisch Bindung.pdf new file mode 100644 index 0000000..12d4fe6 Binary files /dev/null and b/Programmierung2/src/oop/Dynamische_Statisch Bindung.pdf differ diff --git a/Programmierung2/src/oop/File-Handling.odt b/Programmierung2/src/oop/File-Handling.odt index 2bc3d1a..aa9dbe6 100644 Binary files a/Programmierung2/src/oop/File-Handling.odt and b/Programmierung2/src/oop/File-Handling.odt differ diff --git a/Programmierung2/src/oop/Konstante_Objekte/Person.java b/Programmierung2/src/oop/Konstante_Objekte/Person.java new file mode 100644 index 0000000..549e78f --- /dev/null +++ b/Programmierung2/src/oop/Konstante_Objekte/Person.java @@ -0,0 +1,45 @@ +package oop.Konstante_Objekte; + +/* + * In diesem Beispiel ist die Referenz person konstant, da sie mit final deklariert wurde. + * Du kannst jedoch den Zustand des Objekts, also den Namen, über die Methode setName() ändern. + * Falls du wirklich möchtest, dass sowohl die Referenz als auch der Zustand des Objekts konstant sind, + * musst du sicherstellen, dass alle Felder in der Klasse auch als final deklariert sind und keine mutierbaren Methoden vorhanden sind. + * + */ + +public class Person { + + String name; + + Person(String name) { + this.name = name; + } + + void setName(String name) { + this.name = name; + } + + String getName() { + return name; + } + + public void printname() { + System.out.println(name); + } + + public static void main(String[] args) { + final Person person = new Person("Alice"); + + // Du kannst den Namen ändern + person.setName("Bob"); + System.out.println(person.getName()); // Ausgabe: Bob + + person.printname(); + + // Du kannst die Referenz nicht ändern + // person = new Person("Charlie"); // Compiler-Fehler + } +} + + diff --git a/Programmierung2/src/oop/Types of Relationships.odt b/Programmierung2/src/oop/Types of Relationships.odt deleted file mode 100644 index 495cbd2..0000000 Binary files a/Programmierung2/src/oop/Types of Relationships.odt and /dev/null differ diff --git a/Programmierung2/src/oop/Types of Relationships.pdf b/Programmierung2/src/oop/Types of Relationships.pdf new file mode 100644 index 0000000..fa61257 Binary files /dev/null and b/Programmierung2/src/oop/Types of Relationships.pdf differ diff --git a/Programmierung2/src/oop/Upcastin_DownCasting/Medium.java b/Programmierung2/src/oop/Upcastin_DownCasting/Medium.java new file mode 100644 index 0000000..9ea8cab --- /dev/null +++ b/Programmierung2/src/oop/Upcastin_DownCasting/Medium.java @@ -0,0 +1,54 @@ +package oop.Upcastin_DownCasting; + +public class Medium { + private String title; + private String autor; + + public Medium(String title, String autor) { + this.title = title; + this.autor = autor; + System.out.println("Das ist Medium"); + } + + public void vater() { + System.out.println("Das ist VaterMethode"); + } + + @Override + public String toString() { + return "Medium [title=" + title + ", autor=" + autor + "]"; + } + + public static void main(String[] args) { + Medium vater = new Buch("Java", "obai", 12); + System.out.println(vater.toString()); + Buch buch; + + if (vater instanceof Buch) { + buch = (Buch) vater; + buch.buch(); + } + + } + +} + +class Buch extends Medium { + + private int seitenZahl; + + public Buch(String title, String autor, int seitenZahl) { + super(title, autor); + this.seitenZahl = seitenZahl; + System.out.println("Das ist Buch"); + } + + public void vater() { + System.out.println("das ist vom Kind"); + } + + public void buch() { + System.out.println("Das ist buchMethode"); + } + +} diff --git a/Programmierung2/src/oop/Upcasting_Downcasting.pdf b/Programmierung2/src/oop/Upcastin_DownCasting/Upcasting_Downcasting.pdf similarity index 100% rename from Programmierung2/src/oop/Upcasting_Downcasting.pdf rename to Programmierung2/src/oop/Upcastin_DownCasting/Upcasting_Downcasting.pdf diff --git a/Programmierung2/src/Übungen/MyChat_App/ChatRom.java b/Programmierung2/src/Übungen/MyChat_App/ChatRom.java new file mode 100644 index 0000000..a0fa5cf --- /dev/null +++ b/Programmierung2/src/Übungen/MyChat_App/ChatRom.java @@ -0,0 +1,38 @@ +package Übungen.MyChat_App; + +import java.util.ArrayList; + +public class ChatRom { + + private ArrayList saveMessagesBetweenUsers; + + ChatRom() { + this.saveMessagesBetweenUsers = new ArrayList<>(); + } + + public void sendeNachricht(User sender, User empfaenger, String message) { + String foramttedNachricht = sender.getName() + " an " + empfaenger.getName() + ": " + message; + saveMessagesBetweenUsers.add(foramttedNachricht); + empfaenger.setMessage(message); + } + + public void zeigeChatHistorie() { + System.out.println("Chatverlauf:"); + for (String message : saveMessagesBetweenUsers) + System.out.println(message); + + } + + public static void main(String[] args) { + User obai = new User("Obai"); + User omar = new User("Omar"); + + ChatRom chatRoom = new ChatRom(); + + chatRoom.sendeNachricht(obai, omar, "Hallo Omar, wie geht es dir?"); + + chatRoom.sendeNachricht(omar, obai, "Mir geht's gut, Obai. Danke!"); + + chatRoom.zeigeChatHistorie(); + } +} diff --git a/Programmierung2/src/Übungen/MyChat_App/Main.java b/Programmierung2/src/Übungen/MyChat_App/Main.java new file mode 100644 index 0000000..5c1a0ff --- /dev/null +++ b/Programmierung2/src/Übungen/MyChat_App/Main.java @@ -0,0 +1,10 @@ +package Übungen.MyChat_App; + +public class Main { + + public static void main(String[] args) { + + + } + +} diff --git a/Programmierung2/src/Übungen/MyChat_App/Messages.java b/Programmierung2/src/Übungen/MyChat_App/Messages.java new file mode 100644 index 0000000..35e9c65 --- /dev/null +++ b/Programmierung2/src/Übungen/MyChat_App/Messages.java @@ -0,0 +1,12 @@ +package Übungen.MyChat_App; + +public class Messages { + ChatRom chatrom; + + Messages (ChatRom chatrom){ + this.chatrom = chatrom; + } + + + +} diff --git a/Programmierung2/src/Übungen/MyChat_App/User.java b/Programmierung2/src/Übungen/MyChat_App/User.java new file mode 100644 index 0000000..6aaf10c --- /dev/null +++ b/Programmierung2/src/Übungen/MyChat_App/User.java @@ -0,0 +1,39 @@ +package Übungen.MyChat_App; + +public class User { + + private final String name; + private String message; + + private final int id; + private static int ID; + + User(String name) { + this.name = name; + this.message = null; + this.id = ID++; + } + + public String getName() { + return name; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + + public int getId() { + return id; + } + + @Override + public String toString() { + return "User [name=" + name + ", id=" + id + "]"; + } + +} diff --git a/Programmierung2/src/Übungen/MyschachGame/GamePlay.java b/Programmierung2/src/Übungen/MyschachGame/GamePlay.java new file mode 100644 index 0000000..d1c5101 --- /dev/null +++ b/Programmierung2/src/Übungen/MyschachGame/GamePlay.java @@ -0,0 +1,9 @@ +package Übungen.MyschachGame; + +public class GamePlay { + + public static void main(String[] args) { + new SchachGame(2); + } + +} diff --git a/Programmierung2/src/Übungen/MyschachGame/SchachGame.java b/Programmierung2/src/Übungen/MyschachGame/SchachGame.java new file mode 100644 index 0000000..c8c203a --- /dev/null +++ b/Programmierung2/src/Übungen/MyschachGame/SchachGame.java @@ -0,0 +1,82 @@ +package Übungen.MyschachGame; + +import java.util.Scanner; + +public class SchachGame { + private Scanner eingabe = new Scanner(System.in); + private char[][] spielfield; + private Spieler[] zweiSpieler; + private char[] schachFiguren = {'T','S','L','D','k','L','S','T'}; + + + SchachGame(int spieler){ + zweiSpieler = new Spieler[2]; + for (int i = 0; i < zweiSpieler.length; i++) + zweiSpieler[i] = new Spieler("Spieler: " + (i + 1)); + + spielfield = new char[8][8]; + + startgame(); + + } + + + public void startgame() { + System.out.println("Willkommen zu meinem SchachSpiel "); + for (int i = 0; i < zweiSpieler.length; i++) + System.out.println("> " + zweiSpieler[i].getName() ); + + fuelleArray(); + printSpielfield(); + } + + public void fuelleArray() { + for (int i = 0; i < spielfield.length; i++) { + spielfield[0][i] = schachFiguren[i]; + spielfield[spielfield.length - 1][i] = schachFiguren[i]; + + spielfield[1][i] = 'B'; + spielfield[spielfield.length - 2][i] = 'B'; + } + + for (int i = 2; i <= 5; i++) + for (int j = 0; j < spielfield[i].length; j++) + spielfield[i][j] = '-'; + + } + + public void printSpielfield() { + System.out.println(); + System.out.println(" SpielField "); + System.out.println(); + for (int i = 0; i < spielfield.length; i++) { + System.out.print(i + 1 + " "); + for (int j = 0; j < spielfield[i].length; j++) { + System.out.print("|" + spielfield[i][j]); + if (j == 7) + System.out.print("|"); + } + + System.out.println(); + } + + System.out.print(" "); + for (char a = 'a'; a <= 'h'; a++) + System.out.print(" " + a); + + } + + public void moveFiguren() { + + System.out.println("Gebe Position bitte ein: "); + String position = eingabe.nextLine(); + + + } + + public void checkPosition(String pos) { + + } + + +} diff --git a/Programmierung2/src/Übungen/MyschachGame/Spieler.java b/Programmierung2/src/Übungen/MyschachGame/Spieler.java new file mode 100644 index 0000000..2720db0 --- /dev/null +++ b/Programmierung2/src/Übungen/MyschachGame/Spieler.java @@ -0,0 +1,16 @@ +package Übungen.MyschachGame; + +public class Spieler { + + private final String name; + + Spieler(String name){ + this.name = name; + } + + public String getName() { + return name; + } + + +}