master
3009594 2024-10-13 22:45:55 +02:00
parent b48452801b
commit 7df5dc20f7
16 changed files with 219 additions and 161 deletions

View File

@ -3,37 +3,42 @@ package Algorithmus;
public class Allgemeine_Übungen { public class Allgemeine_Übungen {
public static void main(String[] args) { public static void main(String[] args) {
String text = "H"; int [] nums = {3, 4, -7, 3, 1, 3, 1, -4, -2, -2};
try { subarraysWith0Sum(nums);
System.out.println(codePointBefore(text,1)); }
}catch(StringIndexOutOfBoundsException e) { public static void subarraysWith0Sum(int [] arr) {
System.out.println(e.toString()); 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(); public static void findApair(int[] arr, int target) {
return charArray[index-1];
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];
}
} }

View File

@ -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();
}
}

View File

@ -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);
}
}

View File

@ -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("");
}
}
}

View File

@ -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("");
}
}

View File

@ -17,15 +17,15 @@ import javax.swing.JLabel;
public class Chat_Fenster extends JFrame { public class Chat_Fenster extends JFrame {
JPanel contentPane; JPanel contentPane;
JTextField eingabeNachricht; private JTextField eingabeNachricht;
JTextArea nachrichtAnzeigen; private JTextArea nachrichtAnzeigen;
JButton sendeNachricht; private JButton sendeNachricht;
private JPanel panel; private JPanel panel;
JLabel userName; private JLabel user1Name;
public Chat_Fenster() { public Chat_Fenster() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 460, 665); setBounds(100, 100, 460, 665);
contentPane = new JPanel(); contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
@ -34,11 +34,11 @@ public class Chat_Fenster extends JFrame {
contentPane.setLayout(null); contentPane.setLayout(null);
nachrichtAnzeigen = new JTextArea(); nachrichtAnzeigen = new JTextArea();
nachrichtAnzeigen.setEditable(false);
nachrichtAnzeigen.setLineWrap(true); nachrichtAnzeigen.setLineWrap(true);
nachrichtAnzeigen.setFont(new Font("Tahoma", Font.BOLD, 13)); nachrichtAnzeigen.setFont(new Font("Tahoma", Font.BOLD, 13));
nachrichtAnzeigen.setForeground(new Color(0, 128, 255)); nachrichtAnzeigen.setForeground(new Color(0, 128, 255));
nachrichtAnzeigen.setEnabled(false); nachrichtAnzeigen.setBounds(10, 95, 350, 432);
nachrichtAnzeigen.setBounds(10, 11, 311, 516);
contentPane.add(nachrichtAnzeigen); contentPane.add(nachrichtAnzeigen);
eingabeNachricht = new JTextField(); eingabeNachricht = new JTextField();
@ -49,28 +49,30 @@ public class Chat_Fenster extends JFrame {
sendeNachricht = new JButton("sendeNachricht"); sendeNachricht = new JButton("sendeNachricht");
sendeNachricht.setBounds(247, 542, 135, 27); sendeNachricht.setBounds(247, 542, 135, 27);
contentPane.add(sendeNachricht); contentPane.add(sendeNachricht);
panel = new JPanel(); panel = new JPanel();
panel.setBackground(new Color(0, 128, 255)); panel.setBackground(new Color(0, 128, 255));
panel.setBounds(331, 11, 103, 168); panel.setBounds(10, 28, 350, 56);
contentPane.add(panel); contentPane.add(panel);
panel.setLayout(null); panel.setLayout(null);
userName = new JLabel("New label"); user1Name = new JLabel("User1: ");
userName.setBounds(10, 11, 83, 36); user1Name.setForeground(new Color(255, 255, 255));
panel.add(userName); user1Name.setFont(new Font("Tahoma", Font.BOLD, 14));
user1Name.setBounds(10, 11, 83, 36);
panel.add(user1Name);
this.setVisible(true); this.setVisible(true);
} }
public void sendText(String nachricht) { public void sendeNachricht(String nachricht) {
nachrichtAnzeigen.append(nachricht); nachrichtAnzeigen.append(nachricht);
nachrichtAnzeigen.append("\n"); nachrichtAnzeigen.append("\n");
} }
public void zeigeName(String name) { public void zeigeName(String name) {
userName.setText(name); user1Name.setText(name);
} }
public JTextField getEingabeNachricht() { public JTextField getEingabeNachricht() {
@ -80,8 +82,18 @@ public class Chat_Fenster extends JFrame {
public JButton getSendeNachricht() { public JButton getSendeNachricht() {
return sendeNachricht; return sendeNachricht;
} }
public JLabel getUser1Name() {
return user1Name;
}
public void setUser1Name(String user1Name) {
this.user1Name.setText(user1Name);
}
public void setEingabeNachricht(JTextField eingabeNachricht) {
this.eingabeNachricht = eingabeNachricht;
}
} }

View File

@ -1,20 +1,11 @@
package GUIAnwendungen.Meine_GUI_Chat; package GUIAnwendungen.Meine_GUI_Chat;
import java.util.Scanner;
public class Main { public class Main {
public static void main(String[] args) { 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);
}
new ChatRoom();
}
} }

View File

@ -4,39 +4,31 @@ import java.util.ArrayList;
public class User { public class User {
private String name; private String name;
private int id;
private String nachricht; private String nachricht;
private static int ID = 100; private Chat_Fenster cahtfenster;
private ArrayList<String> nachrichten;
public User(String name) { public User(String name) {
super();
this.name = name; this.name = name;
this.id = ID++; this.cahtfenster = new Chat_Fenster();
nachrichten = new ArrayList<>(); this.cahtfenster.setUser1Name(this.name);
} }
public String getName() { public String getName() {
return name; return name;
} }
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public String getNachricht() { public String getNachricht() {
return nachricht; return nachricht;
} }
public void setNachricht(String nachricht) { public void sendeNachricht(String nachricht) {
this.nachricht = nachricht; this.nachricht = nachricht;
} }
public Chat_Fenster getCahtfenster() {
return cahtfenster;
}
} }

View File

@ -1,4 +1,4 @@
package GUIAnwendungen.StudentManagementSystem; package GUIAnwendungen.StudentManagementSystem.Domain;
public class Student { public class Student {

View File

@ -3,11 +3,15 @@ package GUIAnwendungen.StudentManagementSystem;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Vector; import java.util.Vector;
import GUIAnwendungen.StudentManagementSystem.Domain.Student;
public class VerwalteStudent { public class VerwalteStudent {
private Student student; private Student student;
private Student_login view; private Student_login view;
private ArrayList<Student> allStudents; private ArrayList<Student> allStudents;
private int index = 0;
public VerwalteStudent() { public VerwalteStudent() {
this.view = new Student_login(); this.view = new Student_login();
view.getInsertStudent().addActionListener(e -> insert()); view.getInsertStudent().addActionListener(e -> insert());
@ -18,18 +22,7 @@ public class VerwalteStudent {
allStudents = new ArrayList<>(); 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() { public void insert() {
String idText = view.getEingabeId().getText(); String idText = view.getEingabeId().getText();
@ -45,9 +38,27 @@ public class VerwalteStudent {
student = new Student(name, vorname, geschlecht, email, teleN, Adresse, geburtstag, id); student = new Student(name, vorname, geschlecht, email, teleN, Adresse, geburtstag, id);
allStudents.add(student); allStudents.add(student);
view.showInfo(student.toString()); 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(); 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() { public void update() {
String idText = view.getEingabeId().getText(); String idText = view.getEingabeId().getText();
int id = Integer.parseInt(idText); int id = Integer.parseInt(idText);
@ -91,6 +102,7 @@ public class VerwalteStudent {
if (student != null) { if (student != null) {
allStudents.remove(student); allStudents.remove(student);
view.showInfo("Student wurde erfolgreich gelöscht"); view.showInfo("Student wurde erfolgreich gelöscht");
showAll();
} }
} }

Binary file not shown.

View File

@ -118,7 +118,7 @@ public class MyGenericHashMap<K, V> {
//Ausgabe der Elemente //Ausgabe der Elemente
public void printAll() { public void printAll() {
for (Entry<?,?> temp : table) { for (Entry<K,V> temp : table) {
if (temp != null) { if (temp != null) {
System.out.println("[" + temp.key + "] :" + temp.value + " "); System.out.println("[" + temp.key + "] :" + temp.value + " ");
while(temp.next != null) { while(temp.next != null) {
@ -134,6 +134,8 @@ public class MyGenericHashMap<K, V> {
//Überprüft, ob der angegebene Schlüssel in der HashMap vorhanden ist. //Überprüft, ob der angegebene Schlüssel in der HashMap vorhanden ist.
//Gibt true zurück, wenn der Schlüssel existiert, andernfalls false. //Gibt true zurück, wenn der Schlüssel existiert, andernfalls false.
public boolean containsKey(K key) { public boolean containsKey(K key) {
// hashCode(): gibt den Wert als ganzzahl zurück
//Beispiel: 'a' => 97
int hash = key.hashCode() % SIZE; int hash = key.hashCode() % SIZE;
Entry<K,V> temp = table[hash]; Entry<K,V> temp = table[hash];
while (temp != null) { while (temp != null) {
@ -181,7 +183,8 @@ public class MyGenericHashMap<K, V> {
t1.put(3129392, "basel"); t1.put(3129392, "basel");
t1.printAll(); t1.printAll();
} }

View File

@ -1,6 +1,5 @@
package Hashmap; package Hashmap;
import java.util.ArrayList;
public class MyHashMap { public class MyHashMap {
@ -62,5 +61,7 @@ public class MyHashMap {
Character key = 'a'; Character key = 'a';
int hash = key.hashCode(); int hash = key.hashCode();
System.out.println(hash); System.out.println(hash);
} }
} }

View File

@ -2,9 +2,9 @@ package oop.Abstraction;
public abstract class Auto { public abstract class Auto {
double höhe; private double höhe;
double gewicht; private double gewicht;
int anzahlDerRäder; private int anzahlDerRäder;
@ -20,6 +20,8 @@ public abstract class Auto {
abstract void parkingSensors(); abstract void parkingSensors();
private void print() {
System.out.println("Hallo Welt");
}
} }

View File

@ -8,6 +8,7 @@ public class Hatchback extends Auto {
} }
@Override @Override
void autopilot() { void autopilot() {
System.out.println(" Hatchback : autopilot"); System.out.println(" Hatchback : autopilot");
} }