diff --git a/Programmierung2/src/Algorithmus/Allgemeine_Übungen.java b/Programmierung2/src/Algorithmus/Allgemeine_Übungen.java index c46d699..f05dab8 100644 --- a/Programmierung2/src/Algorithmus/Allgemeine_Übungen.java +++ b/Programmierung2/src/Algorithmus/Allgemeine_Übungen.java @@ -3,37 +3,42 @@ package Algorithmus; public class Allgemeine_Übungen { public static void main(String[] args) { - String text = "H"; - try { - System.out.println(codePointBefore(text,1)); - - }catch(StringIndexOutOfBoundsException e) { - System.out.println(e.toString()); + int [] nums = {3, 4, -7, 3, 1, 3, 1, -4, -2, -2}; + subarraysWith0Sum(nums); + } + + public static void subarraysWith0Sum(int [] arr) { + int sum = 0; + + for (int i = 0; i < arr.length;i++) { + sum = 0; + for (int j = i ; j < arr.length ; j++) { + sum += arr[j]; + if ( sum == 0) + System.out.println("subarray: " + arr[i] + " .... " + arr[j]); + + + } } - - } - static int codePointBefore(String s, int index)throws StringIndexOutOfBoundsException{ - if (index > s.length() + 1 || index < 1) - throw new StringIndexOutOfBoundsException(); - - char[] charArray = s.toCharArray(); - return charArray[index-1]; + + + + + public static void findApair(int[] arr, int target) { + + for (int i = 0; i < arr.length - 1; i++) + for (int j = i + 1; j < arr.length - 1; j++) + if (arr[i] + arr[j] == target) { + System.out.println("Pair found (" + arr[i] + " ," + arr[j] + ")"); + break; + } + } - static int codePointAt(String s, int index)throws StringIndexOutOfBoundsException { - if (index > s.length() || index < 0) - throw new StringIndexOutOfBoundsException(); - char[] charArray = s.toCharArray(); - return charArray[index]; - } - static char charAt(String s, int index) throws StringIndexOutOfBoundsException { - if (index > s.length() || index < 0) - throw new StringIndexOutOfBoundsException(); - char[] charArray = s.toCharArray(); - return charArray[index]; - } + + } diff --git a/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/FactoryMit_Java_Reflection.java b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/FactoryMit_Java_Reflection.java new file mode 100644 index 0000000..9012b85 --- /dev/null +++ b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/FactoryMit_Java_Reflection.java @@ -0,0 +1,67 @@ +package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory; + +public class FactoryMit_Java_Reflection { + + public static void main(String[] args) { + try { + // Erzeugung eines Hundes mit der Factory-Methode + Tier hund = Tier.erzeugeTier("Hund", 3); + System.out.println(hund); // Ausgabe: Hund, Alter: 3 + + // Erzeugung einer Katze mit der Factory-Methode + Tier katze = Tier.erzeugeTier("Katze", 5); + System.out.println(katze); // Ausgabe: Katze, Alter: 5 + } catch (Exception e) { + e.printStackTrace(); + } + } +} +//Basisklasse Tier +class Tier { + private int alter; + + public Tier(int alter) { + this.alter = alter; + } + + public int getAlter() { + return alter; + } + + @Override + public String toString() { + return "Tier, Alter: " + alter; + } + + // Die Factory-Methode, die ein Tier-Objekt erzeugt + public static Tier erzeugeTier(String tierart, int alter) throws Exception { + // Sucht die Klasse basierend auf dem tierart-String und erstellt eine neue Instanz + return (Tier) Class.forName(tierart) + .getDeclaredConstructor(Integer.TYPE) + .newInstance(alter); + } +} + +//Klasse Hund, erbt von Tier +class Hund extends Tier { + public Hund(int alter) { + super(alter); + } + + @Override + public String toString() { + return "Hund, Alter: " + getAlter(); + } +} + +//Klasse Katze, erbt von Tier +class Katze extends Tier { + public Katze(int alter) { + super(alter); + } + + @Override + public String toString() { + return "Katze, Alter: " + getAlter(); + } +} \ No newline at end of file diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatFenster.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatFenster.java deleted file mode 100644 index 410f47c..0000000 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatFenster.java +++ /dev/null @@ -1,33 +0,0 @@ -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 deleted file mode 100644 index cb8bc66..0000000 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatManager.java +++ /dev/null @@ -1,27 +0,0 @@ -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/ChatRoom.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatRoom.java new file mode 100644 index 0000000..4c333af --- /dev/null +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/ChatRoom.java @@ -0,0 +1,32 @@ +package GUIAnwendungen.Meine_GUI_Chat; + +import java.util.ArrayList; + +public class ChatRoom { + + private User user1; + private User user2; + + ChatRoom() { + user1 = new User("Müller"); + user2 = new User("Schneider"); + user1.getCahtfenster().getSendeNachricht().addActionListener(e -> sendeNachrichtUser1()); + user2.getCahtfenster().getSendeNachricht().addActionListener(e -> sendeNachrichtUser2()); + } + + public void sendeNachrichtUser1() { + String nachricht = user1.getCahtfenster().getEingabeNachricht().getText(); + user1.getCahtfenster().sendeNachricht(user1.getName() + ": " + nachricht); + user2.getCahtfenster().sendeNachricht(user1.getName() + ": " + nachricht); + user1.getCahtfenster().getEingabeNachricht().setText(""); + + } + + public void sendeNachrichtUser2() { + String nachricht = user2.getCahtfenster().getEingabeNachricht().getText(); + user1.getCahtfenster().sendeNachricht(user2.getName() + ": " + nachricht); + user2.getCahtfenster().sendeNachricht(user2.getName() + ": " + nachricht); + user2.getCahtfenster().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 index 428c20a..91d2fc7 100644 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Chat_Fenster.java +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Chat_Fenster.java @@ -17,15 +17,15 @@ import javax.swing.JLabel; public class Chat_Fenster extends JFrame { - JPanel contentPane; - JTextField eingabeNachricht; - JTextArea nachrichtAnzeigen; - JButton sendeNachricht; - private JPanel panel; - JLabel userName; + JPanel contentPane; + private JTextField eingabeNachricht; + private JTextArea nachrichtAnzeigen; + private JButton sendeNachricht; + private JPanel panel; + private JLabel user1Name; public Chat_Fenster() { - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setBounds(100, 100, 460, 665); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); @@ -34,11 +34,11 @@ public class Chat_Fenster extends JFrame { contentPane.setLayout(null); nachrichtAnzeigen = new JTextArea(); + nachrichtAnzeigen.setEditable(false); 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); + nachrichtAnzeigen.setBounds(10, 95, 350, 432); contentPane.add(nachrichtAnzeigen); eingabeNachricht = new JTextField(); @@ -49,28 +49,30 @@ public class Chat_Fenster extends JFrame { 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); + panel.setBounds(10, 28, 350, 56); contentPane.add(panel); panel.setLayout(null); - - userName = new JLabel("New label"); - userName.setBounds(10, 11, 83, 36); - panel.add(userName); - + + user1Name = new JLabel("User1: "); + user1Name.setForeground(new Color(255, 255, 255)); + user1Name.setFont(new Font("Tahoma", Font.BOLD, 14)); + user1Name.setBounds(10, 11, 83, 36); + panel.add(user1Name); + this.setVisible(true); - + } - - public void sendText(String nachricht) { + + public void sendeNachricht(String nachricht) { nachrichtAnzeigen.append(nachricht); nachrichtAnzeigen.append("\n"); } - + public void zeigeName(String name) { - userName.setText(name); + user1Name.setText(name); } public JTextField getEingabeNachricht() { @@ -80,8 +82,18 @@ public class Chat_Fenster extends JFrame { public JButton getSendeNachricht() { return sendeNachricht; } - - - + + public JLabel getUser1Name() { + return user1Name; + } + + public void setUser1Name(String user1Name) { + this.user1Name.setText(user1Name); + } + + public void setEingabeNachricht(JTextField eingabeNachricht) { + this.eingabeNachricht = eingabeNachricht; + } + } diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Main.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Main.java index a3b592d..2aff9c2 100644 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Main.java +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/Main.java @@ -1,20 +1,11 @@ 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); - - - } + public static void main(String[] args) { + + new ChatRoom(); + } } diff --git a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/User.java b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/User.java index 0278f95..18a4633 100644 --- a/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/User.java +++ b/Programmierung2/src/GUIAnwendungen/Meine_GUI_Chat/User.java @@ -4,39 +4,31 @@ import java.util.ArrayList; public class User { private String name; - - private int id; private String nachricht; - private static int ID = 100; - private ArrayList nachrichten; - + private Chat_Fenster cahtfenster; + public User(String name) { - super(); this.name = name; - this.id = ID++; - nachrichten = new ArrayList<>(); + this.cahtfenster = new Chat_Fenster(); + this.cahtfenster.setUser1Name(this.name); } 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) { + public void sendeNachricht(String nachricht) { this.nachricht = nachricht; } + + public Chat_Fenster getCahtfenster() { + return cahtfenster; + } + } diff --git a/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/Student.java b/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/Domain/Student.java similarity index 96% rename from Programmierung2/src/GUIAnwendungen/StudentManagementSystem/Student.java rename to Programmierung2/src/GUIAnwendungen/StudentManagementSystem/Domain/Student.java index c913ea8..64abc13 100644 --- a/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/Student.java +++ b/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/Domain/Student.java @@ -1,4 +1,4 @@ -package GUIAnwendungen.StudentManagementSystem; +package GUIAnwendungen.StudentManagementSystem.Domain; public class Student { diff --git a/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/VerwalteStudent.java b/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/VerwalteStudent.java index b5cb06a..899f8bd 100644 --- a/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/VerwalteStudent.java +++ b/Programmierung2/src/GUIAnwendungen/StudentManagementSystem/VerwalteStudent.java @@ -3,11 +3,15 @@ package GUIAnwendungen.StudentManagementSystem; import java.util.ArrayList; import java.util.Vector; +import GUIAnwendungen.StudentManagementSystem.Domain.Student; + public class VerwalteStudent { private Student student; private Student_login view; private ArrayList allStudents; + private int index = 0; + public VerwalteStudent() { this.view = new Student_login(); view.getInsertStudent().addActionListener(e -> insert()); @@ -18,18 +22,7 @@ public class VerwalteStudent { allStudents = new ArrayList<>(); } - public void showAll() { - if (allStudents.size() == 0) - view.showErrore("Keine Student sind im System!"); - - else { - for (Student als:allStudents ) { - String[] array = {als.getId()+"",als.getName(),als.getVorname(),als.getGeburtstag(),als.getGeschlecht(),als.getTele(),als.getEmail(),als.getAdresse()}; - view.getModel().addRow(array); - } - } - - } + public void insert() { String idText = view.getEingabeId().getText(); @@ -45,9 +38,27 @@ public class VerwalteStudent { student = new Student(name, vorname, geschlecht, email, teleN, Adresse, geburtstag, id); allStudents.add(student); view.showInfo(student.toString()); + + String[] array = {student.getId()+"",student.getName(),student.getVorname(),student.getGeburtstag(),student.getGeschlecht(),student.getTele(),student.getEmail(),student.getAdresse()}; + view.getModel().addRow(array); + + restAlleInputs(); } + public void showAll() { + if (allStudents.size() == 0) + view.showErrore("Keine Student sind im System!"); + + else { + for (Student als:allStudents ) { + String[] array = {als.getId()+"",als.getName(),als.getVorname(),als.getGeburtstag(),als.getGeschlecht(),als.getTele(),als.getEmail(),als.getAdresse()}; + view.getModel().addRow(array); + } + } + + } + public void update() { String idText = view.getEingabeId().getText(); int id = Integer.parseInt(idText); @@ -91,6 +102,7 @@ public class VerwalteStudent { if (student != null) { allStudents.remove(student); view.showInfo("Student wurde erfolgreich gelöscht"); + showAll(); } } diff --git a/Programmierung2/src/Hashmap/HashingMap.odt b/Programmierung2/src/Hashmap/HashingMap.odt deleted file mode 100644 index e113c71..0000000 Binary files a/Programmierung2/src/Hashmap/HashingMap.odt and /dev/null differ diff --git a/Programmierung2/src/Hashmap/HashingMap.pdf b/Programmierung2/src/Hashmap/HashingMap.pdf new file mode 100644 index 0000000..8ee2fa7 Binary files /dev/null and b/Programmierung2/src/Hashmap/HashingMap.pdf differ diff --git a/Programmierung2/src/Hashmap/MyGenericHashMap.java b/Programmierung2/src/Hashmap/MyGenericHashMap.java index da39256..c512026 100644 --- a/Programmierung2/src/Hashmap/MyGenericHashMap.java +++ b/Programmierung2/src/Hashmap/MyGenericHashMap.java @@ -118,7 +118,7 @@ public class MyGenericHashMap { //Ausgabe der Elemente public void printAll() { - for (Entry temp : table) { + for (Entry temp : table) { if (temp != null) { System.out.println("[" + temp.key + "] :" + temp.value + " "); while(temp.next != null) { @@ -134,6 +134,8 @@ public class MyGenericHashMap { //Überprüft, ob der angegebene Schlüssel in der HashMap vorhanden ist. //Gibt true zurück, wenn der Schlüssel existiert, andernfalls false. public boolean containsKey(K key) { + // hashCode(): gibt den Wert als ganzzahl zurück + //Beispiel: 'a' => 97 int hash = key.hashCode() % SIZE; Entry temp = table[hash]; while (temp != null) { @@ -181,7 +183,8 @@ public class MyGenericHashMap { t1.put(3129392, "basel"); t1.printAll(); - + + } diff --git a/Programmierung2/src/Hashmap/MyHashMap.java b/Programmierung2/src/Hashmap/MyHashMap.java index ada60fd..8d61611 100644 --- a/Programmierung2/src/Hashmap/MyHashMap.java +++ b/Programmierung2/src/Hashmap/MyHashMap.java @@ -1,6 +1,5 @@ package Hashmap; -import java.util.ArrayList; public class MyHashMap { @@ -62,5 +61,7 @@ public class MyHashMap { Character key = 'a'; int hash = key.hashCode(); System.out.println(hash); + + } } diff --git a/Programmierung2/src/oop/Abstraction/Auto.java b/Programmierung2/src/oop/Abstraction/Auto.java index 808af6b..cab355d 100644 --- a/Programmierung2/src/oop/Abstraction/Auto.java +++ b/Programmierung2/src/oop/Abstraction/Auto.java @@ -2,9 +2,9 @@ package oop.Abstraction; public abstract class Auto { - double höhe; - double gewicht; - int anzahlDerRäder; + private double höhe; + private double gewicht; + private int anzahlDerRäder; @@ -20,6 +20,8 @@ public abstract class Auto { abstract void parkingSensors(); - + private void print() { + System.out.println("Hallo Welt"); + } } diff --git a/Programmierung2/src/oop/Abstraction/Hatchback.java b/Programmierung2/src/oop/Abstraction/Hatchback.java index f79bb00..633bfcf 100644 --- a/Programmierung2/src/oop/Abstraction/Hatchback.java +++ b/Programmierung2/src/oop/Abstraction/Hatchback.java @@ -8,6 +8,7 @@ public class Hatchback extends Auto { } @Override + void autopilot() { System.out.println(" Hatchback : autopilot"); }