diff --git a/Programmierung2/.classpath b/Programmierung2/.classpath deleted file mode 100644 index ca549ef..0000000 --- a/Programmierung2/.classpath +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/Programmierung2/.gitignore b/Programmierung2/.gitignore deleted file mode 100644 index ae3c172..0000000 --- a/Programmierung2/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/Programmierung2/.project b/Programmierung2/.project deleted file mode 100644 index 60a0ff0..0000000 --- a/Programmierung2/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - Programmierung2 - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/Programmierung2/.settings/org.eclipse.core.resources.prefs b/Programmierung2/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 99f26c0..0000000 --- a/Programmierung2/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -encoding/=UTF-8 diff --git a/Programmierung2/.settings/org.eclipse.jdt.core.prefs b/Programmierung2/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 6e5f874..0000000 --- a/Programmierung2/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,14 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=22 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=22 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=22 diff --git a/Programmierung2/src/Algorithmus/Algorithmus.java b/Programmierung2/src/Algorithmus/Algorithmus.java deleted file mode 100644 index 101318f..0000000 --- a/Programmierung2/src/Algorithmus/Algorithmus.java +++ /dev/null @@ -1,126 +0,0 @@ -package Algorithmus; - -public class Algorithmus { - - public static void main(String[] args) { - - int[] arr = { 4,34,2,6,8,12,21}; - int[] sortedArray =insertionSort(arr) ; - - for (int i : sortedArray) - System.out.print(i + " "); - - - } - - public static int[] mergeSort(int[] arr) { - /* - * Big-O: O(n log n) - */ - return arr; - } - - public static int[] insertionSort(int[] arr) { - /* - * Big-O: O(n²) - * indexes: 0 1 2 3 4 5 6 - * Beispiel array = int[] arr = { 4,34,2,6,8,10,21}; - */ - - for (int i = 1; i < arr.length; i++) { - // speicher den Wert an i Index nehmen an dass i = 2; - // also z.b: Key = 2; - int key = arr[i]; - // speicher das vorhägie Index - int j = i - 1; - /* - * Also die While Loop Konzept ist: - * - betrachtet wird die 2 an Index 2 - * - j = 1 also >= 0 - * - arr[i] ist in dem Fall = 34 - * - ist die 34 > 2, weil key = 2; - * - ja - */ - while (j >= 0 && arr[j] > key) { - //also ersetzen 34 druch die 2 - // aber die 2 wurde erst in var key abgespeichert - arr[j + 1] = arr[j]; - // index j -1 - j = j - 1; - } - // hier ersetzen wir die 34 durch die 2 - arr[j + 1] = key; - } - - return arr; // Rückgabe des sortierten Arrays - } - - - public static int[] selectionSort(int[] arr) { - - /* - * Big-O: O(n²) - * indexes: 0 1 2 3 4 5 6 - * Beispiel array = int[] arr = { 4,34,2,6,8,10,21}; - * - */ - //Äueßere Schleife beginnt bei Index(0) bis zu index (6) - // Beispiel wert - for (int i = 0; i < arr.length - 1; i++) { // i = index (4) - int minIndex = i;// minIndex = index (4) - - // überprüft ob die 4 < andere Element im array - // es soll ab i + 1 überprüft werden - for (int j = i + 1; j < arr.length; j++) { - //ja, die 2 < 4 - if (arr[j] < arr[minIndex]) { - // also minIndex = index (2) also gleich 2 - minIndex = j; - } - } - // falls minIndex anderes Index bekommen hat? - if (minIndex != i) { - //speichere erst die 4 hier - int temp = arr[i]; - // ersetzte die 2 durch die 4 - arr[i] = arr[minIndex]; - //ersetze die 4 durch die 2 - arr[minIndex] = temp; - } - } - - return arr; // Rückgabe des sortierten Arrays - } - - public static int[] bubbleSort(int[] arr) { - // Big-O: O(n²) - for (int i = 0; i < arr.length; i++) - for(int j = 0; j < arr.length; j++) - if (arr[i] < arr[j]) { - int temp = arr[i]; - arr[i] = arr[j]; - arr[j] = temp; - } - return arr; - } - - public static int binarySearch(int[] arr, int value) { - int erst = 0; // Initialisierung des Startindexes auf den ersten Index des Arrays - int last = arr.length - 1; // Initialisierung des Endindexes auf den letzten Index des Arrays - - while (erst <= last) { // Schleife läuft, solange der Startindex kleiner oder gleich dem Endindex ist - int mittel = (erst + last) / 2; // Berechnung des mittleren Indexes durch Addition von Start und Ende, dann Division durch 2 - - if (arr[mittel] == value) // Überprüfung, ob der Wert im Array an der mittleren Position dem gesuchten Wert entspricht - return mittel; // Wenn ja, wird der mittlere Index als Ergebnis zurückgegeben - else if (arr[mittel] < value) // Überprüfung, ob der Wert im Array an der mittleren Position kleiner als der gesuchte Wert ist - erst = mittel + 1; // Wenn ja, wird der Startindex auf die Position nach der Mitte gesetzt - - else // Wenn der Wert im Array an der mittleren Position größer als der gesuchte Wert ist - last = mittel - 1; // Setzt den Endindex auf die Position vor der Mitte - } - return -1; // Wenn der Wert nicht gefunden wird, wird -1 zurückgegeben - } - - -} diff --git a/Programmierung2/src/Algorithmus/Array.java b/Programmierung2/src/Algorithmus/Array.java deleted file mode 100644 index a1057aa..0000000 --- a/Programmierung2/src/Algorithmus/Array.java +++ /dev/null @@ -1,54 +0,0 @@ -package Algorithmus; -public class Array { - - public static void main(String[] args) { - // Erstellt ein Array für 5 Elemente vom Typ int - int[] array = new int[5]; - - // Erstellt und initialisiert das Array mit Werten - int[] array2 = {1, 2, 3, 4, 5}; - - // Zugriff auf das erste Element - int firstElement = array[0]; - - // Zugriff auf das letzte Element (bei einem Array der Größe 5) - int lastElement = array[4]; - - // Setzt das dritte Element des Arrays auf 10 - array2[2] = 10; - - //for schleife mit einem Array - for(int i = 0; i < array.length; i++) - System.out.println(array[i]); - - //foreach Schleife - for(int element : array) - System.out.println(element); - - - // Erstellt ein 3x3-Array (Matrix - int[][] array_21d = new int[3][3]; - - //Initialisieren eines 2D-Arrays: - int[][] array_2d = { - {1, 2, 3}, - {4, 5, 6}, - {7, 8, 9} - }; - - - // Greift auf das Element in der zweiten Zeile und dritten Spalte zu - int element = array_2d[1][2]; - - - //Array mit Objekten, hier sollte eine Klass mit Name Person erstellt werden - /* - * Person[] persons = new Person[2]; // Erstellt ein Array für 2 Person-Objekte - persons[0] = new Person("Alice", 30); - persons[1] = new Person("Bob", 25); - System.out.println(persons[0].name); // Ausgabe: Alice - */ - - } - -} diff --git a/Programmierung2/src/Algorithmus/Complexity(Big O Notation).odt b/Programmierung2/src/Algorithmus/Complexity(Big O Notation).odt deleted file mode 100644 index 031bada..0000000 Binary files a/Programmierung2/src/Algorithmus/Complexity(Big O Notation).odt and /dev/null differ diff --git a/Programmierung2/src/Algorithmus/Logischen_Operatoren.java b/Programmierung2/src/Algorithmus/Logischen_Operatoren.java deleted file mode 100644 index 69e92ad..0000000 --- a/Programmierung2/src/Algorithmus/Logischen_Operatoren.java +++ /dev/null @@ -1,52 +0,0 @@ -package Algorithmus; - -public class Logischen_Operatoren { - - public static void main(String[] args) { - - /* Bitweises UND (&): - * - Funktion: Der & Operator prüft beide Operanden und gibt true zurück, wenn beide Operanden true sind. - * - Merkmal: Beide Bedingungen (a und b) werden immer ausgewertet, unabhängig davon, ob die erste Bedingung false ergibt. - * - Das Prinzip gilt auch für die anderen Logischen_Operatoren - */ - - //Beispiel: - boolean x = true; - boolean y = false; - // Z ist false, weil y false ist, aber y wird dennoch ausgewertet. - boolean z = x & y; - - //Praktischer Einsatz: - int a = 5; - int b = 0; - - //Beide Bedingungen werden überprüft, b wird erhöht, auch wenn a false ist! - if ( a > 5 & (b++ < 10)) - System.out.println(a); - - System.out.println(b);// b = 1 - - - - - - /* Logisches UND (&&): - * - Funktion: Der && Operator prüft ebenfalls beide Operanden und gibt true zurück, wenn beide true sind. - * - Merkmal: Wenn der erste Operand false ist, wird der zweite Operand nicht mehr ausgewertet. Dies spart Rechenzeit und kann in bestimmten Fällen Fehler vermeiden. - */ - - //Praktischer Einsatz: - int a2 = 5; - int b2 = 0; - - // Beide Bedingungen werden überprüft, b wird nicht erhöht, da a false ist! - if (a2 > 5 && (b2++ < 10)) - System.out.println(a2); - - System.out.println(b2);// b = 0 - - - - - } -} diff --git a/Programmierung2/src/BankSystemGUI/BankController.java b/Programmierung2/src/BankSystemGUI/BankController.java deleted file mode 100644 index f1da3c3..0000000 --- a/Programmierung2/src/BankSystemGUI/BankController.java +++ /dev/null @@ -1,50 +0,0 @@ -package BankSystemGUI; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; - -public class BankController { - private File file; - BankController(){ - file = new File("C:\\Users\\obaya\\git\\Programmierung2\\Programmierung2\\src\\BankSystemGUI\\Kunde.txt"); - if (!file.exists()) { - try { - if (file.createNewFile()) // createNewFile() gibt boolean zurück,ob der File ergolgreich erstellt wurde - // oder nicht - System.out.println("Datei erstellt: " + file.getName()); // der File muss im Pfad nicht existieren, - // damit es erstellt wurde - } catch (IOException d) { - d.printStackTrace(); - } - } - } - - public BankSystem addKunde(String name,String vorname,String password,String email) { - BankSystem b1 = new BankSystem(name,vorname,password,email); - saveKunde(b1); - return b1; - } - - - - public void saveKunde(BankSystem b1) { - try (PrintWriter write = new PrintWriter(new FileWriter(file))) { - write.println("ID: " + b1.getId()); - write.println("Vorname: " + b1.getVorname()); - write.println("Nachname: " + b1.getName()); - write.println("Password: " + b1.getPassword()); - write.println("Email: " + b1.getEmail()); - write.println("kontoStand " + b1.getKontoStand()); - write.println(); // Leere Zeile zwischen Einträgen - write.flush(); - write.close(); - System.out.println(b1.toString()); - } catch (IOException e) { - e.printStackTrace(); - - } - } -} - diff --git a/Programmierung2/src/BankSystemGUI/BankSystem.java b/Programmierung2/src/BankSystemGUI/BankSystem.java deleted file mode 100644 index 8eedcd9..0000000 --- a/Programmierung2/src/BankSystemGUI/BankSystem.java +++ /dev/null @@ -1,93 +0,0 @@ -package BankSystemGUI; - -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JFrame; -import javax.swing.JTextField; -// Recourses Klasse (Model) -public class BankSystem { - private String name; - private String vorname; - private String password; - private String email; - private double kontoStand; - private int Id; - private static int IDCounter = 0; - - BankSystem(){} - BankSystem(String name,String vorname,String password,String email){ - this.name = name; - this.vorname = vorname; - this.password = password; - this.email = email; - this.kontoStand = 0; - this.Id = ++IDCounter; - - } - - public double einzahlung(double wert) { - - return this.kontoStand += wert; - } - - - - - public int loadIDCounter() { - return Id; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getVorname() { - return vorname; - } - - public void setVorname(String vorname) { - this.vorname = vorname; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - - - public double getKontoStand() { - return kontoStand; - } - - - public int getId() { - return Id; - } - - - @Override - public String toString() { - return "BankSystem [name=" + name + ", vorname=" + vorname + ", password=" + password + ", kontoStand=" - + kontoStand + ", Id=" + Id + "]"; - } - -} diff --git a/Programmierung2/src/BankSystemGUI/BankSystemTest.java b/Programmierung2/src/BankSystemGUI/BankSystemTest.java deleted file mode 100644 index 2caba08..0000000 --- a/Programmierung2/src/BankSystemGUI/BankSystemTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package BankSystemGUI; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.jupiter.api.Test; - -public class BankSystemTest { - - @Test - public void testEinzahlung() { - BankSystem test = new BankSystem(); - double x = test.einzahlung(100); - assertEquals(100, x, 0.001); // Hier wird überprüft, ob der Kontostand 100.0 ist - } -} diff --git a/Programmierung2/src/BankSystemGUI/Hauptfenster.java b/Programmierung2/src/BankSystemGUI/Hauptfenster.java deleted file mode 100644 index 315267a..0000000 --- a/Programmierung2/src/BankSystemGUI/Hauptfenster.java +++ /dev/null @@ -1,57 +0,0 @@ -package BankSystemGUI; - -import java.io.File; -import java.io.FileNotFoundException; -import java.util.Scanner; - -import javax.swing.JLabel; - -public class Hauptfenster extends BankSystem { - private Window fenster; - private Scanner scan; - - Hauptfenster() throws FileNotFoundException{ - File fr = new File("C:\\Users\\obaya\\git\\Programmierung2\\Programmierung2\\src\\BankSystemGUI\\Kunde.txt"); - scan = new Scanner(fr); - String vorname = null; - String name = null; - double kontoStand = 0.0; - while (scan.hasNextLine()) { - String line = scan.nextLine(); - // Prüfen, ob die Zeile den "Vorname" enthält - if (line.startsWith("Vorname:")) - vorname = line.split(":")[1].trim(); // Den Namen extrahieren - - if (line.startsWith("Nachname: ")) - name = line.split(":")[1].trim(); - - if (line.startsWith("kontoStand ")) { - String value = line.split(" ")[1].trim(); - kontoStand = Double.parseDouble(value); - break; // Wir haben den Namen gefunden, also beenden wir die Schleife - } - - - - } - - fenster = new Window(); - fenster.setTitle("Haupseite"); - - JLabel willkommennachricht = new JLabel("Willkommen " + vorname + " " + name); - willkommennachricht.setBounds(10, 10, 200, 40); - - - JLabel konotstand = new JLabel("Deine Aktuelle Kontostand: " + kontoStand); - konotstand.setBounds(10,50 ,200 ,40 ); - - - fenster.add(konotstand); - fenster.add(willkommennachricht); - } - - public static void main(String[] args) throws FileNotFoundException { - Hauptfenster test = new Hauptfenster(); - } - -} diff --git a/Programmierung2/src/BankSystemGUI/Kunde.txt b/Programmierung2/src/BankSystemGUI/Kunde.txt deleted file mode 100644 index fb2ecf6..0000000 --- a/Programmierung2/src/BankSystemGUI/Kunde.txt +++ /dev/null @@ -1,7 +0,0 @@ -ID: 1 -Vorname: obai -Nachname: albek -Password: 12345 -Email: obay@gmail.com -kontoStand 0.0 - diff --git a/Programmierung2/src/BankSystemGUI/LogIn.java b/Programmierung2/src/BankSystemGUI/LogIn.java deleted file mode 100644 index d226d1d..0000000 --- a/Programmierung2/src/BankSystemGUI/LogIn.java +++ /dev/null @@ -1,125 +0,0 @@ -package BankSystemGUI; - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JTextField; - -public class LogIn extends JFrame implements ActionListener { - private JButton submit; - private File file; - private PrintWriter write; - private JTextField eingabeVorname; - private JTextField eingabenNachname; - private JTextField eingabenPassword; - private JTextField eingabeEmail; - private BankController controller; - private Window fenster; - - LogIn() { - controller = new BankController(); - fenster = new Window(); - fenster.setTitle("log in Seite"); - - JLabel überschrift = new JLabel("loggen Sie sich ein: "); - überschrift.setBounds(10, 2, 120, 40); - - JLabel vorname = new JLabel("Vorname: "); - vorname.setBounds(10, 50, 60, 10); - eingabeVorname = new JTextField(); - eingabeVorname.setBounds(80, 50, 100, 20); - - // setBounds(int x, int y, int width, int height) - JLabel nachname = new JLabel("nachname: "); - nachname.setBounds(10, 90, 100, 20); - - eingabenNachname = new JTextField(); - eingabenNachname.setBounds(80, 90, 100, 20); - - JLabel password = new JLabel("password: "); - password.setBounds(10, 130, 100, 20); - - eingabenPassword = new JTextField(); - eingabenPassword.setBounds(80, 130, 100, 20); - - JLabel email = new JLabel("Email: "); - email.setBounds(10, 170, 100, 20); - - eingabeEmail = new JTextField(); - eingabeEmail.setBounds(80, 170, 100, 20); - - submit = new JButton("Submit"); - submit.setBounds(10, 210, 100, 20); - - submit.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - try { - logUser(); - } catch (IOException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } - } - }); - - fenster.add(überschrift); - fenster.add(vorname); - fenster.add(eingabeVorname); - fenster.add(nachname); - fenster.add(eingabenNachname); - fenster.add(password); - fenster.add(eingabenPassword); - fenster.add(email); - fenster.add(eingabeEmail); - fenster.add(submit); - - } - - public void logUser() throws IOException { - if (eingabeVorname.getText().isEmpty() || eingabenNachname.getText().isEmpty() - || eingabenPassword.getText().isEmpty() || eingabeEmail.getText().isEmpty()) - JOptionPane.showMessageDialog(null, "Alle Felder sind erforderlich", "Fehler", JOptionPane.ERROR_MESSAGE); - else { - String vorname = eingabeVorname.getText(); - String nachname = eingabenNachname.getText(); - String password = eingabenPassword.getText(); - String email = eingabeEmail.getText(); - - BankSystem kunde = controller.addKunde(nachname, vorname, password, email); - //JOptionPane.showMessageDialog(null, "Erfolgreich eingeloggt!", "Info", JOptionPane.INFORMATION_MESSAGE); - fenster.dispose(); - } - - } - - - - @Override - public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - - } - - public static void main(String[] args) { - - - } - -} - - - diff --git a/Programmierung2/src/BankSystemGUI/Test.java b/Programmierung2/src/BankSystemGUI/Test.java deleted file mode 100644 index 7e6d7c5..0000000 --- a/Programmierung2/src/BankSystemGUI/Test.java +++ /dev/null @@ -1,18 +0,0 @@ -package BankSystemGUI; - -import java.util.ArrayList; - -public class Test { - - public static void main(String[] args) { - - BankSystem b1 = new BankSystem("obai","albek","12345","obay@gmail.com"); - System.out.println(b1.toString()); - b1.einzahlung(100); - System.out.println(b1.getKontoStand()); - System.out.println(b1.toString()); -// - - } - -} diff --git a/Programmierung2/src/BankSystemGUI/Window.java b/Programmierung2/src/BankSystemGUI/Window.java deleted file mode 100644 index 0b5d874..0000000 --- a/Programmierung2/src/BankSystemGUI/Window.java +++ /dev/null @@ -1,22 +0,0 @@ -package BankSystemGUI; - -import java.awt.FlowLayout; -import java.awt.GridLayout; - -import javax.swing.JFrame; - -public class Window extends JFrame { - - public JFrame window; - - Window(){ - - setSize(700, 700); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setLayout(null); - setVisible(true); - - } - - -} diff --git a/Programmierung2/src/BinaryTree/BinaryBaumList.java b/Programmierung2/src/BinaryTree/BinaryBaumList.java deleted file mode 100644 index b44667a..0000000 --- a/Programmierung2/src/BinaryTree/BinaryBaumList.java +++ /dev/null @@ -1,453 +0,0 @@ -package BinaryTree; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.Queue; - -public class BinaryBaumList { - Node root; - - // ----------------------------------------------------------------- - private int findTreeHeightRekursiv(Node temp) { - if (temp == null) - return -1; - - int left_subTree = findTreeHeightRekursiv(temp.left); - int right_subTree = findTreeHeightRekursiv(temp.right); - - if (left_subTree > right_subTree) - return 1 + left_subTree; - - return 1 + right_subTree; - } - - public int getHeight() { - return findTreeHeightRekursiv(root); - } - - // ----------------------------------------------------------------- - private void additerativ(int value) { - // erzeuge eine neue knote - Node newNode = new Node(); - // setze in knote einen Wert - newNode.value = value; - // ersetze left Knote auf Null - newNode.left = null; - // ersetze rechte Knote auf Null - newNode.right = null; - - // wenn meine Liste leer ist - if (root == null) { - this.root = newNode; - return; - } - // Wenn sie nicht leer! - - // temp root, um einfacher zu suchen - Node temp = root; - // da mein Temp bis null Knote läuft, - // speichere ich seinen vorhängieren Wert - Node merker = temp; - while (temp != null) { - // speichere temp vorhängieren Wert - merker = temp; - // wenn soll ich die linke Seite betrachten - if (value < temp.value) - temp = temp.left; - - // wenn nein soll ich die rechte Seite betrachten - else - temp = temp.right; - } - // so wenn ich ganz unten bin, soll ich sehen, ob ich die Knote rechts oder - // linke einsetzen soll - // Wenn ja, Knote auf der Linke Seite einsetzen - if (value < merker.value) - merker.left = newNode; - // Wenn nein, Knote auf der rechte Seite einsetzen - else - merker.right = newNode; - } - - private void addRekursiv(Node temp, int value) { - - // erzeuge eine neue knote - Node newNode = new Node(); - // setze in knote einen Wert - newNode.value = value; - // ersetze left Knote auf Null - newNode.left = null; - // ersetze rechte Knote auf Null - newNode.right = null; - // falls die Liste leer ist! - if (temp == null) { - root = newNode; - System.out.println("Die Root: " + root.value); - return; - } - // Wenn ja die Linke Seite betrachten - if (value < temp.value) { - // Wenn mein temp die die Knote null erreicht - if (temp.left == null) { - // erstze die Knote - temp.left = newNode; - System.out.println("Linke Knote: " + temp.left.value); - } - // wenn mein Temp die Knote null nicht erreicht hat - else { - // laufe weiter - addRekursiv(temp.left, value); - } - - } - // wenn die Value größer als die Root - // also die rechte Seite betrachten - else { - if (temp.right == null) { - // erstze die Knote - temp.right = newNode; - System.out.println("Rechte Knote: " + temp.right.value); - - } else { - // laufe Weiter - addRekursiv(temp.right, value); - } - } - } - - public void addElement(int value) { - // additerativ(value); - addRekursiv(root, value); - - } - - // ----------------------------------------------------------------- - private int findMinRekursiv(Node temp) { - - if (temp.left == null) - return temp.value; - - return findMinRekursiv(temp.left); - } - - private int findMinIterativ(Node temp) { - - while (temp.left != null) - temp = temp.left; - - return temp.value; - } - - public int findMin() { - return findMinRekursiv(root); - // return findMinIterativ(root); - } - // ----------------------------------------------------------------- - - // ----------------------------------------------------------------- - private int findMaxRekursiv(Node temp) { - // // Wenn es kein rechtes Kind gibt, ist dies das Maximum - if (temp.right == null) - return temp.value; - - // Rekursiv weiter nach rechts gehen - return findMaxRekursiv(temp.right); - } - - private int findMaxIterativ(Node temp) { - while (temp.right != null) - temp = temp.right; - - return temp.value; - } - - public int findMax() { - // Es gibt keine Elemente - if (root == null) - return -1; - - // Wenn ja, dann hat root den Max Wert - if (root.right == null) - return root.value; - - // return findMaxRekursiv(root); - return findMaxIterativ(root); - } - - // ----------------------------------------------------------------- - private void printPreorder(Node temp) {// [root][left][right] - if (temp == null) - return; - System.out.print(temp.value + " "); - printPreorder(temp.left); - printPreorder(temp.right); - } - - private void printInorder(Node temp) {// [left][root][right] - if (temp == null) { - return; - } - printInorder(temp.left); - System.out.print(temp.value + " "); - printInorder(temp.right); - - } - - private void printPostoder(Node temp) {// [left][right][root] - if (temp == null) - return; - - printPreorder(temp.left); - printPreorder(temp.right); - System.out.print(temp.value + " "); - } - - private void BreadthFirst() { - // Erstelle eine Queue (Warteschlange) vom Typ LinkedList, um die Knoten für die - // Level-Order Traversal zu speichern. - Queue q1 = new LinkedList<>(); - - // Füge den Wurzelknoten des Baums in die Warteschlange ein. - // Dies ist der Startpunkt für die Breadth-First Traversal. - q1.add(root); - - // Solange die Warteschlange nicht leer ist, gibt es noch Knoten zu besuchen. - while (!q1.isEmpty()) { - // Schau dir das erste Element in der Warteschlange an, ohne es zu entfernen. - // Dies gibt dir den aktuellen Knoten, den du verarbeiten willst. - Node temp = q1.peek(); - - // Entferne das Element (den Knoten), das gerade verarbeitet wird, aus der - // Warteschlange. - // Dies verschiebt die Warteschlange und macht den nächsten Knoten zum - // "Front"-Element. - q1.remove(); - - // Gib den Wert des aktuellen Knotens aus, den du gerade bearbeitest. - // Dies ist der eigentliche Schritt, bei dem du die Traversal-Ergebnisse - // ausgibst. - System.out.print(temp.value + " "); - - // Wenn der linke Kindknoten existiert, füge ihn zur Warteschlange hinzu. - // Dies stellt sicher, dass der linke Kindknoten später in der richtigen - // Reihenfolge bearbeitet wird. - if (temp.left != null) - q1.add(temp.left); - - // Wenn der rechte Kindknoten existiert, füge ihn ebenfalls zur Warteschlange - // hinzu. - // Dies stellt sicher, dass der rechte Kindknoten nach dem linken Kindknoten - // bearbeitet wird. - if (temp.right != null) - q1.add(temp.right); - } - } - - public void printDepth() { - // printPreorder(root); - // printInorder(root); - BreadthFirst(); - } - // ----------------------------------------------------------------- - - /* - * Löschen von Knoten: - * - wenn eine Knote gelöscht werden soll, sollen erst 4 wichtige Eigenschaften betrachtet werden: - * 1. ob die Knote überhaupt igrendwo im Baum liegt (suchen) - * 2. ob die Knote ein Blatt (leaf Node) ist,das heißt die Knote hat weder rechte Knote noch linke Knote - * 3. ob die Knote nur ein einziges Kind hat - * 4. ob die Knote zwei Kinder hat - * 4.1 hier entscheidt man, was er nehmen möchte: - * . Inorder-Vorgänger: Suche nach dem größten Knoten im linken Teilbaum - * . Inorder-Nachfolger: Suche nach dem kleinsten Knoten im rechten Teilbaum. - * - */ - - // 1. Suchen - private boolean searchNummberIterativ(int value) { - if (root == null) - return false; - - Node temp = root; - while (temp.value != value) { - if (value < temp.value && temp.left != null) - temp = temp.left; - - else if (value >= temp.value && temp.right != null) - temp = temp.right; - - else - break; - } - if (temp.value == value) - return true; - - return false; - - } - - private boolean searchNummberRekursiv(Node temp , int value) { - if (temp == null) - return false; - - if (temp.value == value) - return true; - - else if(value < temp.value) - return searchNummberRekursiv(temp.left , value); - - else - return searchNummberRekursiv(temp.right , value); - - } - - public void searchNummber(int value) { - - if(searchNummberRekursiv(root,value)) - System.out.println("Ist gefunden: " + value); - else - System.out.println("Ist nicht gefunden!"); - } - - - //2. löschen als leaf Node - private void removeleafNode(int value) { - if (!searchNummberIterativ(value)) { - System.out.println("Die zahl befindet sich nicht im Baum!"); - return; - } - Node temp = root; - Node merker = null; - while( temp.value != value) { - merker = temp; - if (value < temp.value) - temp = temp.left; - - else if (value >= temp.value) - temp = temp.right; - } - if (temp.value < merker.value) - merker.left = null; - - else - merker.right = null; - } - - //3. lösche eine Knote mit einem einzigen Kind - private void removeWithOneChild(int value) { - if (!searchNummberIterativ(value)) { - System.out.println("Die zahl befindet sich nicht im Baum!"); - return; - } - Node temp = root; - Node merker = null; - while( temp.value != value) { - merker = temp; - if (value < temp.value) - temp = temp.left; - - else if (value >= temp.value) - temp = temp.right; - } - - if (temp.left != null) - merker.left = temp.left; - else - merker.right = temp.right; - - } - - //4. lösche eine Knote mit zwei Kindern - private void removeWithTwoChildern(int value) { - if (!searchNummberIterativ(value)) { - System.out.println("Die zahl befindet sich nicht im Baum!"); - return; - } - Node temp = root; - Node merker = null; - while( temp.value != value) { - if (value < temp.value) - temp = temp.left; - - else if (value >= temp.value) - temp = temp.right; - - merker = temp; - } - temp = temp.left; - Node merker2 = temp; - while(temp.right != null) { - merker2 = temp; - temp = temp.right; - } - merker.value = temp.value; - merker2.right = null; - } - - //2,3,4 Cases - private void removWithAllCases(int value) { - if (!searchNummberIterativ(value)) { - System.out.println("Die zahl befindet sich nicht im Baum!"); - return; - } - - Node temp = root; - Node merker = null; - while (temp.value != value) { - merker = temp; - if (value < temp.value) - temp = temp.left; - - else if (value >= temp.value) - temp = temp.right; - - } - - // Die knote ist ein Blatt (leaf Node) - if (temp.left == null && temp.right == null) { - if (merker == null) - root =null; - else if (merker.left == temp) - merker.left = null; - else - merker.right = null; - } - - // Die Knote hat genau ein Kind entweder links oder rechts - if (temp.left == null || temp.right == null) { - if (temp.left != null && temp.right == null) - merker.left = temp.left; - - else - merker.right = temp.right; - - return; - } - - // Die Knote hat zwei Kinder - else { - merker = temp; - // weg(1): nach links gehen und ganz nach unten rechts gehen - temp = temp.left; - Node merker2 = temp; - while (temp.right != null) { - merker2 = temp; - temp = temp.right; - } - merker.value = temp.value; - merker2.right = null; - } - - - - - - } - public void removNode(int value) { - // removeleafNode(value); - //removeWithOneChild(value); - //removeWithTwoChildern(value); - removWithAllCases(value); - } - -} diff --git a/Programmierung2/src/BinaryTree/Debugg Für Findhöhe Methode.pdf b/Programmierung2/src/BinaryTree/Debugg Für Findhöhe Methode.pdf deleted file mode 100644 index 0be43b7..0000000 Binary files a/Programmierung2/src/BinaryTree/Debugg Für Findhöhe Methode.pdf and /dev/null differ diff --git a/Programmierung2/src/BinaryTree/Debugg Für Lösche Knote.pdf b/Programmierung2/src/BinaryTree/Debugg Für Lösche Knote.pdf deleted file mode 100644 index 3666bf9..0000000 Binary files a/Programmierung2/src/BinaryTree/Debugg Für Lösche Knote.pdf and /dev/null differ diff --git a/Programmierung2/src/BinaryTree/Debugg Für Print Verfahren.pdf b/Programmierung2/src/BinaryTree/Debugg Für Print Verfahren.pdf deleted file mode 100644 index 1202b15..0000000 Binary files a/Programmierung2/src/BinaryTree/Debugg Für Print Verfahren.pdf and /dev/null differ diff --git a/Programmierung2/src/BinaryTree/JuintTeste.java b/Programmierung2/src/BinaryTree/JuintTeste.java deleted file mode 100644 index 9161ad8..0000000 --- a/Programmierung2/src/BinaryTree/JuintTeste.java +++ /dev/null @@ -1,23 +0,0 @@ -package BinaryTree; - -import static org.junit.Assert.assertEquals; -import static org.junit.jupiter.api.Assertions.*; - -import org.junit.jupiter.api.Test; - -class JuintTeste { - - @Test - void test() { - BinaryBaumList b1 = new BinaryBaumList(); - b1.addElement(15); - b1.addElement(6); - b1.addElement(3); - b1.addElement(9); - b1.addElement(8); - b1.addElement(20); - b1.addElement(25); - - } - -} diff --git a/Programmierung2/src/BinaryTree/Node.java b/Programmierung2/src/BinaryTree/Node.java deleted file mode 100644 index 40800a9..0000000 --- a/Programmierung2/src/BinaryTree/Node.java +++ /dev/null @@ -1,8 +0,0 @@ -package BinaryTree; - -public class Node { - int value; - Node left; - Node right; - -} diff --git a/Programmierung2/src/BinaryTree/Test.java b/Programmierung2/src/BinaryTree/Test.java deleted file mode 100644 index fb13015..0000000 --- a/Programmierung2/src/BinaryTree/Test.java +++ /dev/null @@ -1,39 +0,0 @@ -package BinaryTree; - -public class Test { - - public static void main(String[] args) { - BinaryBaumList b1 = new BinaryBaumList(); - b1.addElement(50); - b1.addElement(30); - b1.addElement(70); - b1.addElement(20); - b1.addElement(40); - b1.addElement(60); - b1.addElement(80); - b1.addElement(15); - b1.addElement(22); - b1.addElement(35); - b1.addElement(45); - b1.addElement(21); - b1.addElement(25); - - - - - System.out.print("["); - b1.printDepth(); - System.out.print("]"); - System.out.println(); - b1.removNode(30); - System.out.print("["); - b1.printDepth(); - System.out.print("]"); - - } - - - - - -} diff --git a/Programmierung2/src/BinaryTree/Tree Data Structure.odt b/Programmierung2/src/BinaryTree/Tree Data Structure.odt deleted file mode 100644 index 17b5035..0000000 Binary files a/Programmierung2/src/BinaryTree/Tree Data Structure.odt and /dev/null differ diff --git a/Programmierung2/src/Collection/Collections.java b/Programmierung2/src/Collection/Collections.java deleted file mode 100644 index edead70..0000000 --- a/Programmierung2/src/Collection/Collections.java +++ /dev/null @@ -1,10 +0,0 @@ -package Collection; -public class Collections { - - /* Collections: eine Sammlung von Werten, die vom gleichen Datentyp sein können oder auch nicht. - * 1. Array: - * - ist änderbar, hat fixed Size und indexed - * - */ - -} diff --git a/Programmierung2/src/Collection/Lists.java b/Programmierung2/src/Collection/Lists.java deleted file mode 100644 index dba91b7..0000000 --- a/Programmierung2/src/Collection/Lists.java +++ /dev/null @@ -1,46 +0,0 @@ -package Collection; - - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Stack; -import java.util.Vector; - -public class Lists { - /* - * - Duplikate von Elementen ist zulassen - * - die Methoden alle KlassenLists sind ähnlich zueinander - * - Stack Prinzip : LIFO (Last In, First Out) - * - indexded Lists - */ - - public static void main(String[] args) { - // Die vier Lists sind dynamischen Lists - ArrayList arrayList = new ArrayList<>(); - - LinkedList linkedList = new LinkedList<>(); - - List vector = new Vector<>(); - // stack erbt von Vector - Stack stack = new Stack<>(); - - arrayList.add("arrayList"); - linkedList.add("LinkedList"); - vector.add("Vektor"); - stack.add("Stack"); - System.out.println(arrayList); - System.out.println(linkedList); - System.out.println(vector); - System.out.println(stack); - stack.push("pushed String"); - System.out.println(stack); - stack.pop(); - System.out.println(stack); - // gibt das oberste Element zurück - stack.peek(); - System.out.println(stack); - - } - -} diff --git a/Programmierung2/src/Collection/Queueslist.java b/Programmierung2/src/Collection/Queueslist.java deleted file mode 100644 index 900013a..0000000 --- a/Programmierung2/src/Collection/Queueslist.java +++ /dev/null @@ -1,71 +0,0 @@ -package Collection; - - -import java.util.LinkedList; -import java.util.PriorityQueue; -import java.util.Queue; -import java.util.Deque; -import java.util.ArrayDeque; - -public class Queueslist { - /* - * - Queue Prinzip: FIFO (First In, First Out) - * - dynamische nicht indexed lists - * - */ - - public static void main(String[] args) { - Queue queue = new LinkedList<>(); - - //füge ein Element am Ende hinzu - queue.add("1"); - System.out.println(queue); - // füge ein Element am Ende hinzu - queue.add("2"); - System.out.println(queue); - - // füge ein Element am Ende hinzu, gibt false zurück, wenn die Queue full ist - queue.offer("3"); - System.out.println(queue); - - - - //Entfernt das erste Element in der Queue und gibt es zurück. - queue.remove(); - //Entfernt das erste Element in der Queue und gibt es zurück. Gibt null zurück, wenn die Queue leer ist, - queue.poll(); - - - /* Spezielle Queue-Typen: - * - * 1. PriorityQueue: ordnet ihre Elemente in einer natürlichen Ordnung oder nach einem angegebenen Comparator. - */ - - PriorityQueue priorityQueue = new PriorityQueue<>(); - priorityQueue.add(10); - priorityQueue.add(20); - priorityQueue.add(7); - - System.out.println(priorityQueue.poll()); // Ausgabe: 7 (niedrigster Wert zuerst) - System.out.println(priorityQueue.poll()); // Ausgabe: 10 zweite niedrigster Wert - - - - /* - * Spezielle Queue-Typen: - * - * 1. Deque (Double-Ended Queue): erlaubt das Hinzufügen und Entfernen von Elementen an beiden Enden der Queue. - */ - - Deque deque = new ArrayDeque<>(); - - deque.addFirst("First"); - deque.addLast("Last"); - deque.addFirst("New First"); - - System.out.println(deque.removeFirst()); // New First - System.out.println(deque.removeLast()); // Last - - } - -} diff --git a/Programmierung2/src/Collection/Setlists.java b/Programmierung2/src/Collection/Setlists.java deleted file mode 100644 index dda19a6..0000000 --- a/Programmierung2/src/Collection/Setlists.java +++ /dev/null @@ -1,60 +0,0 @@ -package Collection; - - -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.Set; -import java.util.TreeSet; - -public class Setlists { - /* - nicht indexed lists - * - erlaubt keine doppelten Elemente - * - HashSet, LinkedHashSet und TreeSet - * - */ - public static void main(String[] args) { - - /* - * 1. HashSet: - * - Verwendet eine HashMap intern, um die Elemente zu speichern - * - Bietet konstante Zeit für die grundlegenden Operationen (add, remove, contains), solange die Hash-Funktion effizient ist. - * - Die Reihenfolge der Elemente ist nicht garantiert. - */ - Set hashSet = new HashSet<>(); - hashSet.add("Apple"); - hashSet.add("Banana"); - hashSet.add("Apple"); // wird ignoriert, da "Apple" bereits existiert - - System.out.println(hashSet); // Ausgabe: Apple,Banana - - - /* - * 2. LinkedHashSet: - * - Verwendet eine verknüpfte Liste (LinkedList) zusammen mit einer HashMap, um die Elemente zu speichern. - */ - - Set linkedHashSet = new LinkedHashSet<>(); - linkedHashSet.add("Apple"); - linkedHashSet.add("Banana"); - linkedHashSet.add("Apple"); - System.out.println(linkedHashSet);// wird ignoriert, da "Apple" bereits existiert - - - /* - * 3. TreeSet: - * - Verwendet eine selbstbalancierende Baumstruktur (Red-Black Tree), um die Elemente zu speichern. - * - Elemente werden in natürlicher Ordnung (oder durch einen Comparator, falls angegeben) sortiert gespeichert. - */ - - Set treeSet = new TreeSet<>(); - treeSet.add("Banana"); - treeSet.add("Apple"); - treeSet.add("Apple"); - - // die zweite Apple wird ignorieret und die Reihnfolge wird automatisch sortiert - System.out.println(treeSet); - - - } - -} 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 22cc730..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/BewegePanle.java b/Programmierung2/src/GUIAnwendungen/BewegePanle.java deleted file mode 100644 index 3bb6c66..0000000 --- a/Programmierung2/src/GUIAnwendungen/BewegePanle.java +++ /dev/null @@ -1,58 +0,0 @@ -package GUIAnwendungen; - -import java.awt.Color; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.Timer; - -public class BewegePanle extends JPanel { - private int yPosition = 0; // Startposition des Panels oben - private final int speed = 1; // Geschwindigkeit der Bewegung - private final int panelWidth = 100; - private final int panelHeight = 100; - - public BewegePanle() { - // Setze die Hintergrundfarbe des Panels - setBackground(Color.red); - - // Timer initialisieren und starten - //(int delay, ActionListener listener) - Timer timer = new Timer(10, new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - // Aktualisiere die y-Position - yPosition += speed; - - // Wenn das Panel unten angekommen ist, starte wieder von oben - if (yPosition > 750 - panelHeight) { - yPosition = 0; // Zurück an den oberen Rand - } - - // Erzwinge das Neuzeichnen des Panels - setBounds(0, yPosition, panelWidth, panelHeight); - } - }); - - timer.start(); // Timer starten - } - - public static void main(String[] args) { - // Erstelle das Hauptfenster - JFrame frame = new JFrame(); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setSize(750, 750); - frame.setLayout(null); // Deaktiviere das Layout-Management - - // Erstelle eine Instanz von Jpanel und füge sie dem Fenster hinzu - BewegePanle panel = new BewegePanle(); - panel.setBounds(0, 0, 100, 100); // Initiale Position und Größe - frame.add(panel); - - // Mache das Fenster sichtbar - frame.setVisible(true); - } - } - diff --git a/Programmierung2/src/GUIAnwendungen/Borderlayout.java b/Programmierung2/src/GUIAnwendungen/Borderlayout.java deleted file mode 100644 index 5d72e5f..0000000 --- a/Programmierung2/src/GUIAnwendungen/Borderlayout.java +++ /dev/null @@ -1,82 +0,0 @@ -package GUIAnwendungen; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import javax.swing.JFrame; -import javax.swing.JPanel; - -public class Borderlayout { - /* - * steuert die Positionierung von Komponenten in einem Container - * Z.B: - * NORTH (oben) - SOUTH (unten) - EAST (rechts) - WEST (links) - CENTER (Mitte) - - */ - - public static void main(String[] args) { - - // Erstelle ein Fenster (JFrame-Objekt) - JFrame frame = new JFrame(); - - // Setzt das Layout des Rahmens auf BorderLayout mit einem Abstand von 10 Pixeln zwischen den Komponenten - frame.setLayout(new BorderLayout(10,10)); - - // Legt die Größe des Fensters fest (Breite: 750 Pixel, Höhe: 750 Pixel) - frame.setSize(750, 750); - - // Stellt sicher, dass das Programm beendet wird, wenn das Fenster geschlossen wird - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - // Setzt den Titel des Fensters - frame.setTitle("Mein erstes Fenster"); - - // Macht das Fenster sichtbar - frame.setVisible(true); - - // Erstelle fünf JPanel-Objekte, die als Container für andere Komponenten dienen können - JPanel panel1 = new JPanel(); - JPanel panel2 = new JPanel(); - JPanel panel3 = new JPanel(); - JPanel panel4 = new JPanel(); - JPanel panel5 = new JPanel(); - - // Setzt den Hintergrund von panel1 auf Rot - panel1.setBackground(Color.red); - // Setzt den Hintergrund von panel2 auf Grün - panel2.setBackground(Color.green); - // Setzt den Hintergrund von panel3 auf Gelb - panel3.setBackground(Color.yellow); - // Setzt den Hintergrund von panel4 auf Magenta - panel4.setBackground(Color.magenta); - // Setzt den Hintergrund von panel5 auf Blau - panel5.setBackground(Color.blue); - - // Legt die bevorzugte Größe von panel1 fest (100x100 Pixel) - panel1.setPreferredSize(new Dimension(100,100)); - // Legt die bevorzugte Größe von panel2 fest (100x100 Pixel) - panel2.setPreferredSize(new Dimension(100,100)); - // Legt die bevorzugte Größe von panel3 fest (100x100 Pixel) - panel3.setPreferredSize(new Dimension(100,100)); - // Legt die bevorzugte Größe von panel4 fest (100x100 Pixel) - panel4.setPreferredSize(new Dimension(100,100)); - // Legt die bevorzugte Größe von panel5 fest (100x100 Pixel) - panel5.setPreferredSize(new Dimension(100,100)); - - // Fügt panel1 im Bereich NORTH des BorderLayouts hinzu - frame.add(panel1, BorderLayout.NORTH); - // Fügt panel2 im Bereich WEST des BorderLayouts hinzu - frame.add(panel2, BorderLayout.WEST); - // Fügt panel3 im Bereich EAST des BorderLayouts hinzu - frame.add(panel3, BorderLayout.EAST); - // Fügt panel4 im Bereich SOUTH des BorderLayouts hinzu - frame.add(panel4, BorderLayout.SOUTH); - // Fügt panel5 im Bereich CENTER des BorderLayouts hinzu - frame.add(panel5, BorderLayout.CENTER); - - } - -} diff --git a/Programmierung2/src/GUIAnwendungen/Flowlayout.java b/Programmierung2/src/GUIAnwendungen/Flowlayout.java deleted file mode 100644 index 7e512c7..0000000 --- a/Programmierung2/src/GUIAnwendungen/Flowlayout.java +++ /dev/null @@ -1,64 +0,0 @@ -package GUIAnwendungen; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.FlowLayout; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; - -public class Flowlayout { - - /* - * - Ordent die Komponenten innerhalb eines Containers in einer einzigen Zeile - * - Ausrichtung: Die Komponenten können linksbündig (LEFT), zentriert (CENTER), oder rechtsbündig (RIGHT) ausgerichtet werden. - * - hier wird auch angezeigt, wie man button auf Panel paltziert - * Hinweis: FlowLayout bietet keine Möglichkeit, eine einzelne Komponente manuell zu platzieren. - */ - - public static void main(String[] args) { - - // Erstelle ein JFrame-Fenster - JFrame fenster = new JFrame(); - - // Beendet das Programm beim Schließen des Fensters - fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - // Legt die Größe des Fensters auf 500x500 Pixel fest - fenster.setSize(500, 500); - - // Setzt das Layout des Fensters auf FlowLayout mit zentrierter Ausrichtung und - // Abständen von 10 Pixeln - fenster.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); - - // Erstelle ein JPanel mit vordefinierter Größe 250x250 Pixel und hellgrauem - // Hintergrund - JPanel panel1 = new JPanel(); - panel1.setPreferredSize(new Dimension(250, 250)); - panel1.setBackground(Color.lightGray); - - // Setzt das Layout von panel1 ebenfalls auf FlowLayout - panel1.setLayout(new FlowLayout()); - - // Füge dem Panel 9 Buttons hinzu, die in einer Zeile oder mehreren Zeilen - // angeordnet werden - panel1.add(new JButton("1")); - panel1.add(new JButton("2")); - panel1.add(new JButton("3")); - panel1.add(new JButton("4")); - panel1.add(new JButton("5")); - panel1.add(new JButton("6")); - panel1.add(new JButton("7")); - panel1.add(new JButton("8")); - panel1.add(new JButton("9")); - - // Füge das Panel dem JFrame hinzu - fenster.add(panel1); - - // Macht das Fenster sichtbar - fenster.setVisible(true); - } - - -} diff --git a/Programmierung2/src/GUIAnwendungen/GridBagLayoutExample.java b/Programmierung2/src/GUIAnwendungen/GridBagLayoutExample.java deleted file mode 100644 index 8e4a3d1..0000000 --- a/Programmierung2/src/GUIAnwendungen/GridBagLayoutExample.java +++ /dev/null @@ -1,31 +0,0 @@ -package GUIAnwendungen; - -import javax.swing.*; -import java.awt.*; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.GridLayout; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; -public class GridBagLayoutExample { - /*- manuell positionien von Elementen - * - in viel flexibleres Layout-Manager, bei dem du die Position, - * Größe und Ausdehnung (über mehrere Zeilen/Spalten) der einzelnen Komponenten präzise steuern kannst. - * - Du kannst einzelne Komponenten unterschiedlich groß machen, sie über mehrere Zellen spannen und Abstände festlegen. - */ - public static void main(String[] args) { - JFrame frame = new JFrame("GridBagLayout Example"); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setLayout(null); - JButton button1 = new JButton("Button1"); - frame.add(button1); - - button1.setBounds(0, 0, 120, 30); - frame.setSize(800, 800); - frame.setVisible(true); - } -} diff --git a/Programmierung2/src/GUIAnwendungen/Gridlayout.java b/Programmierung2/src/GUIAnwendungen/Gridlayout.java deleted file mode 100644 index e13ef94..0000000 --- a/Programmierung2/src/GUIAnwendungen/Gridlayout.java +++ /dev/null @@ -1,42 +0,0 @@ -package GUIAnwendungen; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.GridLayout; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; - -public class Gridlayout { - - public static void main(String[] args) { - - // Erstelle ein JFrame-Fenster - JFrame fenster = new JFrame(); - - // Beendet das Programm beim Schließen des Fensters - fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - // Legt die Größe des Fensters auf 500x500 Pixel fest - fenster.setSize(500, 500); - fenster.setLayout(new GridLayout(4,3,10,4)); - - fenster.add(new JButton("1")); - fenster.add(new JButton("2")); - fenster.add(new JButton("3")); - fenster.add(new JButton("4")); - fenster.add(new JButton("5")); - fenster.add(new JButton("6")); - fenster.add(new JButton("7")); - fenster.add(new JButton("8")); - fenster.add(new JButton("9")); - - fenster.setVisible(true); - - - } - -} diff --git a/Programmierung2/src/GUIAnwendungen/Jframe.java b/Programmierung2/src/GUIAnwendungen/Jframe.java deleted file mode 100644 index 911b4de..0000000 --- a/Programmierung2/src/GUIAnwendungen/Jframe.java +++ /dev/null @@ -1,40 +0,0 @@ -package GUIAnwendungen; - -import java.awt.Color; - -import javax.swing.JFrame; - -public class Jframe { - - /* - * - mit der Klasse(JFrame) erzeugen wir ein Fenster - */ - - public static void main(String[] args) { - - // Erstelle ein Fenster - JFrame frame = new JFrame(); - - //setVisible(boolean): gibt an, ob mein Fenster sichtbar ist oder nicht - frame.setVisible(true); - - //setSize(width, height) - frame.setSize(420, 500); - - // setzte einen Überschrift für mein Fenster - frame.setTitle("Mein erstes Fenster"); - - // Schließe das Fenster richtig zu - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - // Mein Fenster kann ab jetzt nicht mehr vergößert oder verkleinert werden - frame.setResizable(false); - - //gib das Fenster eine Farbe - frame.getContentPane().setBackground(Color.green); - //oder rgb Farbe - frame.getContentPane().setBackground(new Color(0,0,100)); - - } - -} diff --git a/Programmierung2/src/GUIAnwendungen/Jpanel.java b/Programmierung2/src/GUIAnwendungen/Jpanel.java deleted file mode 100644 index 7512f43..0000000 --- a/Programmierung2/src/GUIAnwendungen/Jpanel.java +++ /dev/null @@ -1,42 +0,0 @@ -package GUIAnwendungen; - -import java.awt.Color; -import java.awt.Font; - -import javax.swing.BorderFactory; -import javax.swing.ImageIcon; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.border.Border; - -// mit Jpanel kann man alle grafischen Bauelemente einsetzen -public class Jpanel { - - public static void main(String[] args) { - JPanel panel = new JPanel(); - panel.setBackground(Color.red); - // setze eine Grafisches Bauelement (int x, int y, int width, int height) - panel.setBounds(100, 100, 10, 10); - - - JFrame frame = new JFrame(); - - //stellt sicher, dass keine automatische Positionierung und Größenanpassung erhalten - frame.setLayout(null); - - // setSize(width, height) - frame.setSize(750, 750); - - // setzte einen Überschrift für mein Fenster - frame.setTitle("Mein erstes Fenster"); - - //setVisible(boolean): gibt an, ob mein Fenster sichtbar ist oder nicht - frame.setVisible(true); - - frame.add(panel); - - - } - -} \ No newline at end of file diff --git a/Programmierung2/src/GUIAnwendungen/KeyBindingsExample.java b/Programmierung2/src/GUIAnwendungen/KeyBindingsExample.java deleted file mode 100644 index 9cc9cdd..0000000 --- a/Programmierung2/src/GUIAnwendungen/KeyBindingsExample.java +++ /dev/null @@ -1,31 +0,0 @@ -package GUIAnwendungen; - -import javax.swing.*; -import java.awt.event.ActionEvent; - -public class KeyBindingsExample extends JFrame { - public KeyBindingsExample() { - setTitle("KeyBindings Beispiel"); - setSize(300, 200); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - // Panel erstellen - JPanel panel = new JPanel(); - add(panel); - - // KeyBinding hinzufügen: 'A' Taste - panel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("A"), "keyA"); - panel.getActionMap().put("keyA", new AbstractAction() { - @Override - public void actionPerformed(ActionEvent e) { - System.out.println("Taste 'A' wurde gedrückt (KeyBindings)."); - } - }); - - setVisible(true); - } - - public static void main(String[] args) { - new KeyBindingsExample(); - } -} diff --git a/Programmierung2/src/GUIAnwendungen/Labels.java b/Programmierung2/src/GUIAnwendungen/Labels.java deleted file mode 100644 index c2af5d3..0000000 --- a/Programmierung2/src/GUIAnwendungen/Labels.java +++ /dev/null @@ -1,83 +0,0 @@ -package GUIAnwendungen; - -import java.awt.Color; -import java.awt.Font; - -import javax.swing.BorderFactory; -import javax.swing.ImageIcon; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.border.Border; - -/* - * JLabel = ist ein GUI Anzeiger für hinzufügen von Texten und Bildern - */ - -public class Labels { - - public static void main(String[] args) { - // Erstelle eine Label - JLabel label = new JLabel(); - - // Erstelle einen Border für das Fenster - Border b1 = BorderFactory.createLineBorder(Color.GREEN,5); - - // füge den Text auf dem Fenster hinzu - label.setText("Hall Welt"); - - /* - * - Mit diesen zwei Methode positioniere ich den Text auf dem Bild - * 1. setHorizontalTextPosition(JLabel.CENTER); set Text LEFT,CENTER,RIGHT auf dem Bild - * 2. label.setVerticalTextPosition(JLabel.TOP);set Text TOP,CENTER, DOWN auf dem Bild - * - man kann auch integer Werte eingeben - */ - label.setHorizontalTextPosition(JLabel.CENTER); // Horozional - label.setVerticalTextPosition(JLabel.TOP); // vertikal - - // gib für den Schrifft eine Farbe aus der Klasse Color ein - // entweder: - label.setForeground(Color.GREEN); - // oder: - label.setForeground(new Color(0,0,100)); - - //gib Schriftart aus der Klasse Font ein - label.setFont(new Font("MV Boli",Font.PLAIN,20)); - - // verschiebe den Text nach beliebg Position - label.setIconTextGap(20); - - // setze eine Farbe für Background - label.setBackground(Color.black); - label.setOpaque(true); - - //zeige den Border auf dem Fenster - label.setBorder(b1); - - - //füge ein Bild hinzu - ImageIcon image = new ImageIcon("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\GUIAnwendungen\\Test.jpg"); - label.setIcon(image); - - - // Erstelle ein Fenster - JFrame frame = new JFrame(); - // setSize(width, height) - frame.setSize(500, 500); - - // setzte einen Überschrift für mein Fenster - frame.setTitle("Mein erstes Fenster"); - - //setVisible(boolean): gibt an, ob mein Fenster sichtbar ist oder nicht - frame.setVisible(true); - - // zeige den Text auf dem Fenster - frame.add(label); - - - - - - - } - -} diff --git a/Programmierung2/src/GUIAnwendungen/ShowMessage.java b/Programmierung2/src/GUIAnwendungen/ShowMessage.java deleted file mode 100644 index d623bcd..0000000 --- a/Programmierung2/src/GUIAnwendungen/ShowMessage.java +++ /dev/null @@ -1,63 +0,0 @@ -package GUIAnwendungen; - -import javax.swing.JFrame; -import javax.swing.JOptionPane; - -public class ShowMessage { - - /* - * - erstellt einfache Dialogfenster (Pop-up-Fenster) - * - können verwendet werden, um Nachrichten anzuzeigen, Eingaben vom Benutzer zu erfassen oder den Benutzer vor bestimmten Aktionen zu warnen. - * - durch null kann man viele sachen ersetzen: - * . Fenster - * . Jpanel - * . public MeinFenster() { - super("Mein Fenster"); - JOptionPane.showMessageDialog(this, "Beispiel.", "Titel", JOptionPane.WARNING_MESSAGE); - - . etc... - } - */ - - public static void main(String[] args) { - // Erstelle ein JFrame-Fenster mit dem Titel "Mein Fenster" - JFrame fenster = new JFrame("Mein Fenster"); - - // Zeige eine Fehlermeldung in einem Dialog an, zentriert relativ zu 'fenster' - JOptionPane.showMessageDialog(fenster, "Beispiel.", "title", JOptionPane.ERROR_MESSAGE); - - // Zeige eine Informationsmeldung in einem Dialog an, zentriert auf dem Bildschirm - JOptionPane.showMessageDialog(null, "Beispiel..", "title", JOptionPane.INFORMATION_MESSAGE); - - // Zeige eine Frage in einem Dialog an, zentriert auf dem Bildschirm - JOptionPane.showMessageDialog(null, "Beispiel.", "title", JOptionPane.QUESTION_MESSAGE); - - // Zeige eine Warnung in einem Dialog an, zentriert auf dem Bildschirm - JOptionPane.showMessageDialog(null, "Beispiel.", "title", JOptionPane.WARNING_MESSAGE); - - /* - * Zeige einen Bestätigungsdialog an, um den Benutzer zu fragen, - * ob er fortfahren möchte (Ja/Nein/Abbrechen). - * Antwort wird in 'antwort' gespeichert. - */ - int antwort = JOptionPane.showConfirmDialog(null, "Möchten Sie fortfahren?"); - if (antwort == JOptionPane.YES_OPTION) { - // Benutzer hat 'Ja' gewählt - System.out.println("Benutzer hat 'Ja' gewählt."); - } else if (antwort == JOptionPane.NO_OPTION) { - // Benutzer hat 'Nein' gewählt - System.out.println("Benutzer hat 'Nein' gewählt."); - } else if (antwort == JOptionPane.CANCEL_OPTION) { - // Benutzer hat 'Abbrechen' gewählt - System.out.println("Benutzer hat 'Cancel' gewählt."); - } - - // Zeige einen Eingabedialog an, um den Benutzer nach seinem Namen zu fragen - String eingabe = JOptionPane.showInputDialog("Geben Sie Ihren Namen ein:"); - // Gib den eingegebenen Namen in der Konsole aus - System.out.println("Benutzername: " + eingabe); - } - } - - - diff --git a/Programmierung2/src/GUIAnwendungen/Test.jpg b/Programmierung2/src/GUIAnwendungen/Test.jpg deleted file mode 100644 index 0c7ff29..0000000 Binary files a/Programmierung2/src/GUIAnwendungen/Test.jpg and /dev/null differ diff --git a/Programmierung2/src/GUIAnwendungen/TextEingaben.java b/Programmierung2/src/GUIAnwendungen/TextEingaben.java deleted file mode 100644 index e72c254..0000000 --- a/Programmierung2/src/GUIAnwendungen/TextEingaben.java +++ /dev/null @@ -1,58 +0,0 @@ -package GUIAnwendungen; - -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JTextField; - -/*Beschreibung das Problem: - * Instanzvariablen sollten verwendet werden, wenn du sicherstellen möchtest, dass Variablen wie JButton und JTextField in der gesamten Klasse (und in actionPerformed) sichtbar sind. - Der Konstruktor der Klasse wird verwendet, um die GUI-Komponenten zu initialisieren und das Fenster aufzubauen. - Die main-Methode ist static und dient dazu, die Anwendung zu starten, indem sie eine Instanz der Klasse erstellt. - Anonyme innere Klassen sind eine praktische Möglichkeit, wenn du einfache Event-Handling-Logik direkt in der main-Methode implementieren möchtest, ohne eine zusätzliche Klasse oder Instanzmethoden zu erstellen. - * - */ - -public class TextEingaben extends JFrame implements ActionListener { - // Instanzvariablen - private JTextField textField; - private JButton button1; - - // Konstruktor - public TextEingaben() { - // Initialisiere das Textfeld und den Button - textField = new JTextField(); - textField.setPreferredSize(new Dimension(240, 40)); - - button1 = new JButton("Submit"); - button1.setPreferredSize(new Dimension(240, 40)); - button1.addActionListener(this); // `this` verweist auf das aktuelle Objekt der Klasse - - // Setze das Layout und füge die Komponenten hinzu - setLayout(new FlowLayout()); - add(textField); - add(button1); - - // Konfiguriere das JFrame - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setSize(500, 500); - setVisible(true); - } - - // Die Methode wird aufgerufen, wenn der Button gedrückt wird - @Override - public void actionPerformed(ActionEvent e) { - if (e.getSource() == button1) { - System.out.println("Hallo " + textField.getText()); - } - } - - public static void main(String[] args) { - // Erstelle eine Instanz der Klasse, wodurch der Konstruktor aufgerufen wird - new TextEingaben(); - } -} - diff --git a/Programmierung2/src/GUIAnwendungen/jbutton.java b/Programmierung2/src/GUIAnwendungen/jbutton.java deleted file mode 100644 index 832a87c..0000000 --- a/Programmierung2/src/GUIAnwendungen/jbutton.java +++ /dev/null @@ -1,95 +0,0 @@ -package GUIAnwendungen; -import java.awt.Color; -import java.awt.Font; - -import javax.swing.BorderFactory; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.border.Border; -import javax.swing.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -/* - * - ActionListener ist ein (marker)Interface Klasse, - * die nur eine abstrakte Methode hat, die mit drücken auf Button reagiert - * - * Also Das Kochrezept: - * 1. Button erstellen: JButton button = new JButton("Text"); - * 2. ActionListener implementieren: Implementiere ActionListener, um die Funktionalität zu definieren. - * 3. ActionListener zum Button hinzufügen: - * 3.1 button.addActionListener(new ActionListener() { ... }); - * 3.2 oder mit separater Methode: button.addActionListener(e -> deineMethode()); - */ -public class jbutton implements ActionListener { - - public static void main(String[] args) { - //1. - JButton button = new JButton(); - // x y width height - button.setBounds(100,100,200, 50); - button.setText("Click me"); - button.addActionListener(null); - - // 2. Hinzufügen des ActionListeners zum Button - JLabel label = new JLabel(); - - /* - * Position und Größe des Labels eingeben warum? - * weil ich frame.setLayout(null); aktiviert habe - */ - label.setBounds(150, 50, 100, 50); - /* - * new ActionListener() ist nicht das Erzeugen einer Instanz des Interfaces selbst, - * sondern das Erstellen einer Instanz einer anonymen Klasse, die das ActionListener-Interface implementiert. - */ - button.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - // Dies ist die Aktion, die ausgeführt wird, wenn der Button geklickt wird - clicked(label); - } - }); - - - - - // Erstelle ein Fenster - JFrame frame = new JFrame(); - - //stellt sicher, dass keine automatische Positionierung und Größenanpassung erhalten - frame.setLayout(null); - - // setSize(width, height) - frame.setSize(750, 750); - - // setzte einen Überschrift für mein Fenster - frame.setTitle("Mein erstes Fenster"); - - //setVisible(boolean): gibt an, ob mein Fenster sichtbar ist oder nicht - frame.setVisible(true); - frame.add(label); - frame.add(button); - // andere Möglichkeit, button auf Fenster zu zeigen - // frame.add(new JButton("name")) - - - } - - - public static void clicked(JLabel label) { - label.setText("Hall Welt"); - } - - - @Override - public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - - } - - -} diff --git a/Programmierung2/src/JunitTest/Einführung.java b/Programmierung2/src/JunitTest/Einführung.java deleted file mode 100644 index a8311e1..0000000 --- a/Programmierung2/src/JunitTest/Einführung.java +++ /dev/null @@ -1,16 +0,0 @@ -package JunitTest; - -public class Einführung { - /*White-Box && Black-Box was ist das? - * - Black-Box-Test: Du prüfst nur die Eingaben und Ausgaben, ohne den Code zu sehen oder zu verstehen. Es geht nur darum, ob die Software das Richtige tut. - * - White-Box-Test: Du schaust dir den Code genau an und prüfst, ob jede Zeile und jedes Detail korrekt funktioniert. Hier verstehst du den Code und testest ihn gezielt. - */ - public static void main(String[] args) { - - } - - public int add(int a, int b) { - return a+b; - } - -} diff --git a/Programmierung2/src/JunitTest/EinführungTest.java b/Programmierung2/src/JunitTest/EinführungTest.java deleted file mode 100644 index ae95c59..0000000 --- a/Programmierung2/src/JunitTest/EinführungTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package JunitTest; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import org.junit.jupiter.api.Test; - -public class EinführungTest { - - @Test - public void testAdd() { - Einführung e1 = new Einführung(); - assertEquals(4, e1.add(2, 2)); - } -} diff --git a/Programmierung2/src/JunitTest/Skript Automatisiert testen (1).pdf b/Programmierung2/src/JunitTest/Skript Automatisiert testen (1).pdf deleted file mode 100644 index d55f331..0000000 Binary files a/Programmierung2/src/JunitTest/Skript Automatisiert testen (1).pdf and /dev/null differ diff --git a/Programmierung2/src/Linked_List/ElementList.java b/Programmierung2/src/Linked_List/ElementList.java deleted file mode 100644 index 04f0fde..0000000 --- a/Programmierung2/src/Linked_List/ElementList.java +++ /dev/null @@ -1,82 +0,0 @@ -package Linked_List; - -public class ElementList { - Node head; - - // ADD Methoden - public void addAtIndex(int value, int index) { - // Erstelle eine neue Knote - Node newNode = new Node(); - // setze drin einen Wert - newNode.value = value; - // falls meine Liste leer ist! - if (head == null) { - head = newNode; - return; - } - - if (index == 0) { - newNode.next = head; - head = newNode; - return; - } - - Node temp = head; - for (int i = 0; i < index - 1 && temp.next != null ; i++) - temp = temp.next; - - newNode.next = temp.next; - temp.next = newNode; - } - public void addLast(int value) { - // Erstelle eine neue Knote - Node newNode = new Node(); - // setze drin einen Wert - newNode.value = value; - // falls meine Liste leer ist! - if (head == null) { - head = newNode; - return; - } - // falls nicht! - Node temp = head; - while (temp.next != null) - temp = temp.next; - - temp.next = newNode; - } - public void addFirst(int value) { - // Erstelle eine neue Knote - Node newNode = new Node(); - // setze drin einen Wert - newNode.value = value; - - if (head == null) - head = newNode; - - /* - * newNode.next = null, aber ist jetzt nicht mehr null, - * weil es jetzt gleich head; - */ - newNode.next = head; - head = newNode; - - } - //--------------------------------------------------- - - - public void printList() { - if (head == null) - return; - - Node temp =head; - System.out.print("["); - while(temp != null) { - System.out.print(temp.value + " "); - temp = temp.next; - } - System.out.print("]"); - - } - -} diff --git a/Programmierung2/src/Linked_List/Node.java b/Programmierung2/src/Linked_List/Node.java deleted file mode 100644 index d95e9b2..0000000 --- a/Programmierung2/src/Linked_List/Node.java +++ /dev/null @@ -1,6 +0,0 @@ -package Linked_List; - -public class Node { - int value; - Node next; -} diff --git a/Programmierung2/src/Linked_List/Test.java b/Programmierung2/src/Linked_List/Test.java deleted file mode 100644 index f78335e..0000000 --- a/Programmierung2/src/Linked_List/Test.java +++ /dev/null @@ -1,15 +0,0 @@ -package Linked_List; - -public class Test { - - public static void main(String[] args) { - ElementList e1 = new ElementList(); - e1.addLast(1); - e1.addLast(2); - e1.addLast(3); - e1.addLast(5); - e1.addAtIndex(10,2); - e1.printList(); - } - -} diff --git a/Programmierung2/src/MVC_Desighn/MVC-Designmuster.odt b/Programmierung2/src/MVC_Desighn/MVC-Designmuster.odt deleted file mode 100644 index 1b8f6a4..0000000 Binary files a/Programmierung2/src/MVC_Desighn/MVC-Designmuster.odt and /dev/null differ diff --git a/Programmierung2/src/MVC_Desighn/Person_Daten.java b/Programmierung2/src/MVC_Desighn/Person_Daten.java deleted file mode 100644 index cf9c4a7..0000000 --- a/Programmierung2/src/MVC_Desighn/Person_Daten.java +++ /dev/null @@ -1,91 +0,0 @@ -package MVC_Desighn; - -// Modell, oder domain -public class Person_Daten { - private String name; - private int alter; - - public Person_Daten(String name, int alter) { - this.name = name; - setAlter(alter); - } - - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public int getAlter() { - return alter; - } - public void setAlter(int alter) { - if (alter > 18) - this.alter = alter; - else - System.out.println("Sie sind sehr jung"); - } - - - @Override - public String toString() { - return "Person_Daten [name=" + name + ", alter=" + alter + "]"; - } - - public static void main(String[] args) { - - Person_Daten p1 = new Person_Daten("obai" , 22); - GUI_DatenView v1 = new GUI_DatenView(); - - Controller_DatenPerson c1 = new Controller_DatenPerson(p1,v1); - - c1.updateView(); - c1.setPersonName("omar"); - c1.updateView(); - - } -} - - - -//View oder GUI -class GUI_DatenView { - - public void printDatenPerson(String name, int alter) { - System.out.println("GUI_DatenView [name=" + name + ", alter=" + alter + "]"); - } - -} - -// Controller -class Controller_DatenPerson{ - Person_Daten modell; - GUI_DatenView view; - - public Controller_DatenPerson(Person_Daten modell, GUI_DatenView view) { - this.modell = modell; - this.view = view; - } - - public String getPersonName() { - return this.modell.getName(); - } - - public void setPersonName(String name) { - modell.setName(name); - } - - public int getPersonAlter() { - return this.modell.getAlter(); - } - - public void updateView() { - - view.printDatenPerson(modell.getName(),modell.getAlter()); - } - -} - - - - diff --git a/Programmierung2/src/MVC_Desighn/Person_GUI.java b/Programmierung2/src/MVC_Desighn/Person_GUI.java deleted file mode 100644 index 735deda..0000000 --- a/Programmierung2/src/MVC_Desighn/Person_GUI.java +++ /dev/null @@ -1,156 +0,0 @@ -package MVC_Desighn; - -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.JTextField; - -// modell -class Person { - private String name; - private int age; - - // Konstruktor - public Person(String name, int age) throws IllegalArgumentException { - this.setName(name); - this.setAge(age); - } - - // Getter für Name - public String getName() { - return name; - } - - // Setter für Name - public void setName(String name) { - this.name = name; - } - - // Getter für Alter - public int getAge() { - return age; - } - - // Setter für Alter - public void setAge(int age) throws IllegalArgumentException { - if (age <= 18) { - throw new IllegalArgumentException("Das Alter muss größer als 18 sein."); - } - this.age = age; - } - - -} - -//view -public class Person_GUI { - private JFrame frame; - private JTextField nameTextField; - private JButton updateButton; - private JLabel nameLabel; - private JLabel ageLabel; - - public Person_GUI() { - // Setup des Frames - frame = new JFrame("Person Details"); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frame.setSize(300, 200); - frame.setLayout(null); - - // Name Label - nameLabel = new JLabel("Name:"); - nameLabel.setBounds(10, 20, 80, 25); - frame.add(nameLabel); - - // Age Label - ageLabel = new JLabel("Alter:"); - ageLabel.setBounds(10, 50, 80, 25); - frame.add(ageLabel); - - // Name Textfeld - nameTextField = new JTextField(20); - nameTextField.setBounds(100, 20, 165, 25); - frame.add(nameTextField); - - // Update Button - updateButton = new JButton("Name ändern"); - updateButton.setBounds(100, 80, 165, 25); - frame.add(updateButton); - - // Frame sichtbar machen - frame.setVisible(true); - } - - public String getNameInput() { - return nameTextField.getText(); - } - - public void setPersonDetails(String name, int age) { - nameLabel.setText("Name: " + name); - ageLabel.setText("Alter: " + age); - } - - public void addUpdateButtonListener(ActionListener listener) { - updateButton.addActionListener(listener); - } - - public static void main(String[] args) { - - // Erstellen des Modells - Person model = new Person("Max Mustermann", 20); - - // Erstellen der Ansicht - Person_GUI view = new MVC_Desighn.Person_GUI(); - - // Erstellen des Controllers - PersonController controller = new PersonController(model, view); - - -} -} - -class PersonController { - private Person model; - private Person_GUI view; - - public PersonController(Person model, Person_GUI view) { - this.model = model; - this.view = view; - - // Initialisieren der View mit den aktuellen Modelldaten - this.view.setPersonDetails(model.getName(), model.getAge()); - - // Hinzufügen eines ActionListeners zum Button - this.view.addUpdateButtonListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - String newName = view.getNameInput(); - setPersonName(newName); - updateView(); - } - }); - } - - public void setPersonName(String name) { - model.setName(name); - } - - public String getPersonName() { - return model.getName(); - } - - public void setPersonAge(int age) { - model.setAge(age); - } - - public int getPersonAge() { - return model.getAge(); - } - - public void updateView() { - view.setPersonDetails(model.getName(), model.getAge()); - } -} diff --git a/Programmierung2/src/Teste/kopieArray.java b/Programmierung2/src/Teste/kopieArray.java deleted file mode 100644 index f65de84..0000000 --- a/Programmierung2/src/Teste/kopieArray.java +++ /dev/null @@ -1,22 +0,0 @@ -package Teste; - -public class kopieArray { - - public static void main(String[] args) { - /* - * das ein falsches Verfahren, um ein Array in einem anderen Array - * zu koopieren, in dem Fall kopieArray ist ein RefrenzVariable, die auf das selbe Array zeigt - * also wir haben nur ein Array und auf diese Array zeigen zwei RefrenzVariable - */ - int[] orgArray = {1,2,3,4,5}; - int[] kopieArray = orgArray; - - /* - * Richtige Kopie von Array - */ - int[] richtigeKopieArray = new int[orgArray.length]; - for (int i = 0; i not fully Abstraction - * 2. Interface => fully Abstraction - * - * ----------------------------------------- - * - * Die abstrakte Klasse: - * - * Deklaration als abstract: Eine abstrakte Klasse muss mit dem Schlüsselwort abstract deklariert werden - * abstrakte Klassen in Java müssen vererbt werden, damit ihre abstrakten Methoden implementiert werden können - * Da abstrakte Klassen nicht instanziiert werden können (man kann also keine Objekte direkt von ihnen erstellen) - * Die Abstrakte klasse kann eine Abstrakte methode haben aber soll nicht - * Die Abstrakte klasse können final methods haben - * Die Abstrakte klasse können constructors und static methods haben - * Setter und getter sind gültig - * - * - Die Unterklasse: - * die nicht abstrakte Unterklassen muss alle abstrakte methoden implementieren! - * die abstrakte Unterklassen muss nicht alle abstrakte methoden implementieren! - *---------------------------------------- - * - *Die abstrakte Methode: - *warum Abstrakte Methods? damit jede Unterklasse diese Methoden implementiert - *wenn wir eine abstrakte Methode erzeugen, soll ihre Klasse auch Abstrakt sein. - *Abstrakte Methoden können von der abstrakten Klasse nicht implemntiert werden. - *Abstrakte Methoden können nur von Unterklassen mit @Override implementiert werden. - *Abstrakte Methoden können ohne und mit Rückabe wert sein. - *Statiche und private Methodes können nicht abstrakt sein warum? - *weil satatic und private gehören nur der Klasse - */ - - protected abstract void fahre(); - public abstract int count(); - - -} diff --git a/Programmierung2/src/oop/Abstraction/Auto.java b/Programmierung2/src/oop/Abstraction/Auto.java deleted file mode 100644 index c73631e..0000000 --- a/Programmierung2/src/oop/Abstraction/Auto.java +++ /dev/null @@ -1,25 +0,0 @@ -package oop.Abstraction; - -public abstract class Auto { - - double höhe; - double gewicht; - int anzahlDerRäder; - - - - public Auto(double höhe, double gewicht, int anzahlDerRäder) { - this.höhe = höhe; - this.gewicht = gewicht; - this.anzahlDerRäder = anzahlDerRäder; - } - - abstract void autopilot(); // automatischen Fahren - - abstract void streamingService(); - - abstract void parkingSensors(); - - - -} diff --git a/Programmierung2/src/oop/Abstraction/Auto2.java b/Programmierung2/src/oop/Abstraction/Auto2.java deleted file mode 100644 index f6c8b69..0000000 --- a/Programmierung2/src/oop/Abstraction/Auto2.java +++ /dev/null @@ -1,19 +0,0 @@ -package oop.Abstraction; - - -public class Auto2 { - - class Test{ - - - } - @FunctionalInterface - public interface Test2{ - int berechne(int a, int b); - - } - - - - -} diff --git a/Programmierung2/src/oop/Abstraction/Hatchback.java b/Programmierung2/src/oop/Abstraction/Hatchback.java deleted file mode 100644 index d54d496..0000000 --- a/Programmierung2/src/oop/Abstraction/Hatchback.java +++ /dev/null @@ -1,29 +0,0 @@ -package oop.Abstraction; - -public class Hatchback extends Auto { - - - public Hatchback(double höhe, double gewicht, int anzahlDerRäder) { - super(höhe, gewicht, anzahlDerRäder); - } - - @Override - void autopilot() { - System.out.println(" Hatchback : autopilot"); - } - - @Override - void streamingService() { - System.out.println("Hatchback : streamingService"); - - } - - @Override - void parkingSensors() { - System.out.println(" Hatchback : parkingSensors"); - - } - - - -} diff --git a/Programmierung2/src/oop/Abstraction/MarkerInterface.java b/Programmierung2/src/oop/Abstraction/MarkerInterface.java deleted file mode 100644 index 4cda615..0000000 --- a/Programmierung2/src/oop/Abstraction/MarkerInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package oop.Abstraction; - -public class MarkerInterface { - // Keine Methoden oder Konstanten - -} diff --git a/Programmierung2/src/oop/Abstraction/NestedInterface.java b/Programmierung2/src/oop/Abstraction/NestedInterface.java deleted file mode 100644 index af778b2..0000000 --- a/Programmierung2/src/oop/Abstraction/NestedInterface.java +++ /dev/null @@ -1,14 +0,0 @@ -package oop.Abstraction; - -public interface NestedInterface { - void test(); - - interface InnerInterface { - default void test2() { - - System.out.print("Innerinterface"); - } - - } - -} diff --git a/Programmierung2/src/oop/Abstraction/SUV.java b/Programmierung2/src/oop/Abstraction/SUV.java deleted file mode 100644 index 9b76cc0..0000000 --- a/Programmierung2/src/oop/Abstraction/SUV.java +++ /dev/null @@ -1,29 +0,0 @@ -package oop.Abstraction; - -public class SUV extends Auto { - - - - public SUV(double höhe, double gewicht, int anzahlDerRäder) { - super(höhe, gewicht, anzahlDerRäder); - } - - @Override - void autopilot() { - System.out.println(" SUV : autopilot"); - } - - @Override - void streamingService() { - System.out.println(" SUV : streamingService"); - - } - - @Override - void parkingSensors() { - System.out.println("SUV : parkingSensors"); - - } - - -} diff --git a/Programmierung2/src/oop/Abstraction/Test.java b/Programmierung2/src/oop/Abstraction/Test.java deleted file mode 100644 index 22f6afc..0000000 --- a/Programmierung2/src/oop/Abstraction/Test.java +++ /dev/null @@ -1,12 +0,0 @@ -package oop.Abstraction; - -public class Test { - - public static void main(String[] args) { - - // Auto SUV1 = new Auto(); Verboten da die Auto Klasse Abstrakt ist! - // Auto SUV1 = new SUV(); das ist gültig - - } - -} diff --git a/Programmierung2/src/oop/AnonymousInnerClass/AnonymousInnerClass.java b/Programmierung2/src/oop/AnonymousInnerClass/AnonymousInnerClass.java deleted file mode 100644 index 950f0c8..0000000 --- a/Programmierung2/src/oop/AnonymousInnerClass/AnonymousInnerClass.java +++ /dev/null @@ -1,27 +0,0 @@ -package oop.AnonymousInnerClass; - -public class AnonymousInnerClass { - /* - * - ist ohne Name definiert und werden direkt in der Instanziierung (manin Methode) erstellt. - * - Verwendung: Sie werden verwendet,um Schnittstellen oder abstrakte Klassen zu implementieren - * und deren Methoden zu überschreiben, ohne eine separate, benannte Klasse zu erstellen. - * - kann entweder extends klasse oder implements interface aber (nicht beids gleichzeitig) - * - ist für methoden und Konstruktoren - * - Anonymous Inner Class können kein Konstruktoren haben, weil sie ohne Name sind! - * - Anonymous kann mehreren Methoden überschreiben - * - können über definiert werden, wo Klasseninstanzen benötigt werden - * - die Methoden und die Variablen innerhalb der Anonymous sind nur innerhalb Anonymous sichtbar - * oder ich muss z.b anstatt (Konstruktor test = new Konstruktor()) => var test = new Konstruktor() - * das ermöglicht mir die methoden und die Variable die in Anonymous in außen zu verweden - * - anonyme innere Klassen können verschachtelt werden also in anonyme ein anonyme - * - können keine statischen Variablen oder Methoden haben, das sie keinen Name haben - * - Private Elemente sind erlaubt aber sind nur innerhalb der anonyme innere Klassen sichtbar - * - * Warum benötigen wir sowas? - * für Einmalige Verwendung: Sie sind ideal für einmalige Implementierungen, - * wie z.B. Event-Handler, Callbacks oder Threads. - * - * - */ - -} diff --git a/Programmierung2/src/oop/AnonymousInnerClass/Interface.java b/Programmierung2/src/oop/AnonymousInnerClass/Interface.java deleted file mode 100644 index 67bcaec..0000000 --- a/Programmierung2/src/oop/AnonymousInnerClass/Interface.java +++ /dev/null @@ -1,40 +0,0 @@ -package oop.AnonymousInnerClass; - -public class Interface { - - public interface Showable{ - - void print(); - } - - // methode übernimmt ein Interface - static void display(Showable s) { - - s.print(); - } - - public static void main (String[] args) { - // Anonymous Inner Class mit methode - display(new Showable() { - - @Override - public void print() { - System.out.print("von der Methode"); - } - }); - - - - // Anonymous Inner Class mit interface - Showable showable = new Showable() { - - @Override - public void print() { - - System.out.println("Hallo welt"); - } - }; - - showable.print(); - } -} diff --git a/Programmierung2/src/oop/AnonymousInnerClass/Konstruktor.java b/Programmierung2/src/oop/AnonymousInnerClass/Konstruktor.java deleted file mode 100644 index ae83138..0000000 --- a/Programmierung2/src/oop/AnonymousInnerClass/Konstruktor.java +++ /dev/null @@ -1,83 +0,0 @@ -package oop.AnonymousInnerClass; - -public class Konstruktor { - - public Konstruktor() { - System.out.println("das ist Konstruktor"); - } - - // Methode enthält Anonymous Inner Class - public static void main() { - new Konstruktor() { - - public static void print() { - System.out.println("main methode"); - } - - int x = 5; - @Override - public void testMethod() { - - System.out.println("main methode"); - - } - - - }; - } - - public void testMethod() { - - System.out.println("Das ist in der klasse"); - } - - - int x = 2; - - public static void main(String[] str) { - - // Konstruktor wird aufgerufen und aussgegeben - Konstruktor test = new Konstruktor() { - - public void print() { - System.out.println("extra methode"); - //x = 3; Änderung ist verboten - } - - int x = 5; - @Override - public void testMethod() { - - System.out.println("Das ist in der main" + x); - print();// innere Methode - } - - - }; - - test.testMethod(); - - // Konstruktor wird aufgerufen und aussgegeben - var test2 = new Konstruktor() { - - public static void print() { - System.out.println("extra methode"); - } - - int x = 5; - @Override - public void testMethod() { - - System.out.println("Das ist in der main" + x); - - } - - - }; - // aufruf der innere methode - //test2.print(); - test2.main(); - - } - -} diff --git a/Programmierung2/src/oop/AnonymousInnerClass/RewardClass.java b/Programmierung2/src/oop/AnonymousInnerClass/RewardClass.java deleted file mode 100644 index b6288fc..0000000 --- a/Programmierung2/src/oop/AnonymousInnerClass/RewardClass.java +++ /dev/null @@ -1,10 +0,0 @@ -package oop.AnonymousInnerClass; - -public class RewardClass { - public void rewardMethode() { - - System.out.println("Deine Belohnung ist 10€."); - } - - -} diff --git a/Programmierung2/src/oop/AnonymousInnerClass/Test.java b/Programmierung2/src/oop/AnonymousInnerClass/Test.java deleted file mode 100644 index 240f952..0000000 --- a/Programmierung2/src/oop/AnonymousInnerClass/Test.java +++ /dev/null @@ -1,35 +0,0 @@ -package oop.AnonymousInnerClass; - -public class Test { - - public static void main(String[] args) { - - RewardClass mietarebiter1 = new RewardClass(); - RewardClass mietarebiter2 = new RewardClass(); - RewardClass mietarebiter3 = new RewardClass() - // Anonymous Inner Class - { - - @Override - public void rewardMethode() { - - System.out.println("Deine Belohnung ist 20€."); - } - }; - - mietarebiter1.rewardMethode();//Belohnung ist 10€ - mietarebiter2.rewardMethode();//Belohnung ist 10€ - - mietarebiter3.rewardMethode();//Belohnung ist 20€ - - /* wenn ich für den dritten mietarebiter3 20€ statt 10€ geben möchte! - * dann habe ich 2 möglichkeiten - * - * 1. erben: ich kann eine Klasse erstellen die meine (RewardClass) erbt - * und ihre Methode mit 20€ überschreibt! - * - * 2.Anonymous Inner Class - */ - } - -} diff --git a/Programmierung2/src/oop/Aufgaben/BankKonto.java b/Programmierung2/src/oop/Aufgaben/BankKonto.java deleted file mode 100644 index c7aa3bc..0000000 --- a/Programmierung2/src/oop/Aufgaben/BankKonto.java +++ /dev/null @@ -1,65 +0,0 @@ -package oop.Aufgaben; - -public class BankKonto { - - private String name; - private double amount; - private int kontoNummer; - private static int counter = 1; - - public BankKonto() { - - - } - - - - public BankKonto( String name,double amount) { - this.kontoNummer = counter; - this.name = name; - this.amount = amount; - counter++; - bounus(); - willkommen(this.name); - } - - - public static void willkommen(String n) { - - BankKonto b1 = new BankKonto(); - b1.name = n; - System.out.println("Willkommen: " + b1.name); - } - - - public double bounus() { - - - return this.amount += 5; - } - - public void einzahlung(double wert) { - - this.amount += wert; - - } - - public void auszahlung(double wert) { - - if (wert <= this.amount) - this.amount -= wert; - else - System.out.println("Das Geld reicht nicht aus!"); - } - - public void checkKonto() { - - System.out.println("Ihre Stand ist: " + this.amount); - } - - public String toString() { - - return "Kontoname = " + this.name + " nummer = " + kontoNummer + " Satand = " + this.amount; - } - -} diff --git a/Programmierung2/src/oop/Aufgaben/Kreis.java b/Programmierung2/src/oop/Aufgaben/Kreis.java deleted file mode 100644 index 0db1c3f..0000000 --- a/Programmierung2/src/oop/Aufgaben/Kreis.java +++ /dev/null @@ -1,59 +0,0 @@ -package oop.Aufgaben; - -public class Kreis { - - private double radius; - private String color; - - - // Konstruktor mit zwei Parametern - public Kreis(double radius, String color) { - this.radius = radius; - this.color = color; - } - - // Konstruktor mit einem Parameter (radius), Standardfarbe wird zugewiesen - public Kreis(double radius) { - this.radius = radius; // Standardfarbe ist "weiß" - } - - - public void setRadius(double radius) { - - this.radius =radius ;//this (unterscheidet zwishcne Parameter und Attribute) - } - - public double getRadius() { - - return radius; - } - - public void setColor(String color) { - - this.color = color; // this (unterscheidet zwishcne Parameter und Attribute) - } - - public String getColor() { - - return color; - } - - - public double getFlaeche() { - - return radius * radius * Math.PI; - } - - public double getUmfang() { - - return 2 * radius * Math.PI; - - } - - public String toString() { - - return "Kreis:" + getFlaeche() + " " + getUmfang() ; - } - - -} diff --git a/Programmierung2/src/oop/Aufgaben/Mitarbeiter.java b/Programmierung2/src/oop/Aufgaben/Mitarbeiter.java deleted file mode 100644 index a2d2f54..0000000 --- a/Programmierung2/src/oop/Aufgaben/Mitarbeiter.java +++ /dev/null @@ -1,38 +0,0 @@ -package oop.Aufgaben; - -public class Mitarbeiter { - - - private static int id = 0; - protected int idMitarbeiter; - protected String name; - - - public Mitarbeiter() { - - } - - public Mitarbeiter(String name) { - this.idMitarbeiter = ++id; - this.name = name; - - } - - public void setName(String name) { - - this.name = name; - } - - public String getName() { - - return this.name; - } - - - public String toString() { - - return "ID: " + id + " Name: " + this.name; - } - - -} diff --git a/Programmierung2/src/oop/Aufgaben/Personalverwaltung.java b/Programmierung2/src/oop/Aufgaben/Personalverwaltung.java deleted file mode 100644 index 4ef8398..0000000 --- a/Programmierung2/src/oop/Aufgaben/Personalverwaltung.java +++ /dev/null @@ -1,32 +0,0 @@ -package oop.Aufgaben; - -import java.util.ArrayList; - -public class Personalverwaltung { - - ArrayList mitarbeiterliste = new ArrayList(); - - - - public void add(Mitarbeiter mitarbeiter) { - - mitarbeiterliste.add(mitarbeiter); - } - - - public void remove(Mitarbeiter mitarbeiter) { - - mitarbeiterliste.remove(mitarbeiter); - } - - - - - public void listMitarbeiter(){ - - for (Mitarbeiter mitarbeiter : mitarbeiterliste) { - System.out.println(mitarbeiter); - } - } - -} diff --git a/Programmierung2/src/oop/Einführung/Einführung.java b/Programmierung2/src/oop/Einführung/Einführung.java deleted file mode 100644 index 6f32c1a..0000000 --- a/Programmierung2/src/oop/Einführung/Einführung.java +++ /dev/null @@ -1,31 +0,0 @@ -package oop.Einführung; - -public class Einführung { - - String name; - int maxSpeed; - double price; - int model; - - - void setName(String n) { - name = n; - } - - String getName() { - - return name; - } - - void setModel(int mod) { - if (mod >= 2016) - model = mod; - else - System.out.println("Nei geht nicht!"); - } - - int getModel() { - - return model; - } -} diff --git a/Programmierung2/src/oop/Enumeration/EnumMethods.java b/Programmierung2/src/oop/Enumeration/EnumMethods.java deleted file mode 100644 index fd8c8b7..0000000 --- a/Programmierung2/src/oop/Enumeration/EnumMethods.java +++ /dev/null @@ -1,65 +0,0 @@ -package oop.Enumeration; -import java.util.EnumSet; - -public enum EnumMethods { - MONTAG, DIENSTAG, MITTWOCH, DONNERSTAG, FREITAG, SAMSTAG, SONNTAG; - - - - public static void main(String[] args) { - // gibt mir die Index meiner Konstante zurück - System.out.println(EnumMethods.DIENSTAG.ordinal()); - - //vergleicht zwei enum-Konstanten basierend auf ihrer Reihenfolge - System.out.println(EnumMethods.DIENSTAG.compareTo(EnumMethods.DONNERSTAG)); - - // gibt true oder false zurück - System.out.println(EnumMethods.DIENSTAG.toString() == "DIENSTAG"); - - // gibt true oder false zurück - System.out.println(EnumMethods.DIENSTAG.name() == "DIENSTAG"); - - // gibt der Name der Kosntant zurück - System.out.println(EnumMethods.valueOf("DONNERSTAG")); - - // gibt mir alle Konstante zurück - for (EnumMethods test: EnumMethods.values()) { - System.out.print(test + " "); - if (test == EnumMethods.DIENSTAG) - System.out.print(EnumMethods.values() + " "); - } - System.out.println(EnumMethods.values()[0] + "Einzelene Konstant"); - - System.out.println(); - - /* - * Enumset:: - */ - - // gibt alle Werte die enums aus - EnumSet days = EnumSet.allOf(EnumMethods.class); - System.out.println(days); - - // gibt nur Werte ,die ich eingebe - EnumSet day = EnumSet.of(EnumMethods.DIENSTAG, EnumMethods.FREITAG); - System.out.println(day); - - // gibt nur einmal Diesntag aus! - EnumSet day1 = EnumSet.of(EnumMethods.DIENSTAG, EnumMethods.DIENSTAG); - System.out.println(day); - - // gibt mir von Konstante to Kosntnate zurück! - EnumSet range = EnumSet.range(EnumMethods.DIENSTAG, EnumMethods.FREITAG); - System.out.println(range); - - - EnumSet noneOf = EnumSet.noneOf(EnumMethods.class); - noneOf.add(DIENSTAG); - noneOf.addAll(noneOf); - noneOf.remove(DIENSTAG); - noneOf.removeAll(noneOf); - System.out.println(noneOf); - - } - -} diff --git a/Programmierung2/src/oop/Enumeration/Enumeration.java b/Programmierung2/src/oop/Enumeration/Enumeration.java deleted file mode 100644 index b6070a1..0000000 --- a/Programmierung2/src/oop/Enumeration/Enumeration.java +++ /dev/null @@ -1,23 +0,0 @@ -package oop.Enumeration; - -public class Enumeration { - - /*Enum was ist? - * - repräsentiert eine Gruppe von Konstanten - * ,die public, static und final sind und die immer großegeschrieben werden sollen - * - Deklariert mit dem Schlüsselwort enum z.b(public enum klassenname) - * - Jede Konstante wird durch Kommas getrennt und am Ende optional mit einem Semikolon abgeschlossen. - * - kann als Datentyp verwendet werden - * - Kann in switch-Anweisungen verwendet werden. - * - kann Felder, Konstruktoren (ohne public) und Methoden enthalten. - * - Konstruktoren sind immer privat oder paketprivat (d.h. sie können nicht public sein) - * ,die Dienen zur Initialisierung der Felder. - * - Enums können abstrakte Methoden enthalten, aber es sollen alle Kosntanten sie implementieren (siehe Wochentage class). - * - Enums können Interfaces implementieren. - * - Enums können eigene Methoden und Überschreibungen von toString(), equals(), hashCode(), etc. enthalten. - * - Enums können keine anderen Klassen erweitern und auch nicht von anderen Klassen erben - * - Enums können interface implementieren - * - */ - -} diff --git a/Programmierung2/src/oop/Enumeration/Numbers.java b/Programmierung2/src/oop/Enumeration/Numbers.java deleted file mode 100644 index 5e5f21e..0000000 --- a/Programmierung2/src/oop/Enumeration/Numbers.java +++ /dev/null @@ -1,28 +0,0 @@ -package oop.Enumeration; - -public enum Numbers{ - - ONE,TWO,THREE; // Semikolon ist optional - - /* - * ONE TOW THREE sind Objekte in die unten stehenden Klassen - * Konstante ONE wir präsentiert durch: - * Class Numbers{ - * public static final Numbers ONE = new Numbers(); - * } - * - * und TWO auch so.. - * Class Numbers{ - * public static final Numbers TWO = new Numbers(); - * } - * und THREE auch so.. - * - */ - - - public void print() { - - System.out.println("dasd"); - } - -} diff --git a/Programmierung2/src/oop/Enumeration/Order.java b/Programmierung2/src/oop/Enumeration/Order.java deleted file mode 100644 index 5c6c298..0000000 --- a/Programmierung2/src/oop/Enumeration/Order.java +++ /dev/null @@ -1,37 +0,0 @@ -package oop.Enumeration; - -public class Order { - - public enum OrderStatus{ - - PENDING, - PREPARING, - COMPLETED, - DELIVERING, - CANCELED; - } - - - - // Attribute mit enum Objekt - private OrderStatus status; - - public boolean check() { - - if (getStatus() == status.COMPLETED) - return true; - - return false; - } - - public OrderStatus getStatus() { - return status; - } - - public void setStatus(OrderStatus status) { - this.status = status; - } - - - -} diff --git a/Programmierung2/src/oop/Enumeration/OrderTest.java b/Programmierung2/src/oop/Enumeration/OrderTest.java deleted file mode 100644 index 4594a88..0000000 --- a/Programmierung2/src/oop/Enumeration/OrderTest.java +++ /dev/null @@ -1,17 +0,0 @@ -package oop.Enumeration; - -public class OrderTest { - - public static void main(String[] args) { - //ordinal globale methode gibt mir die Index meiner enum Konstanten - System.out.println(Order.OrderStatus.CANCELED.ordinal()); - - Order order1 = new Order(); - order1.setStatus(Order.OrderStatus.DELIVERING); - System.out.println(order1.check()); - // z.b für Tracking der bestellung - System.out.print(order1.getStatus()); - - } - -} diff --git a/Programmierung2/src/oop/Enumeration/Test.java b/Programmierung2/src/oop/Enumeration/Test.java deleted file mode 100644 index 1eb085f..0000000 --- a/Programmierung2/src/oop/Enumeration/Test.java +++ /dev/null @@ -1,35 +0,0 @@ -package oop.Enumeration; - -public class Test { - - public static void main(String[] args) { - // Numbers val1 = new Numbers(); verboten da enum Konstruktoren private ist - // und ONE automatisch static ist - Numbers val1 = Numbers.ONE; // TWO ist ein Objekt - - switch (val1) { - - case ONE: System.out.println("1"); - break; - - case TWO: System.out.println("2"); - break; - - case THREE: System.out.println("3"); - break; - } - - val1.print(); - - System.out.println(Wochentage.MONTAG.getStatus()); - Wochentage.MONTAG.testmethode(); - System.out.println(Wochentage.DIENSTAG.getStatus()); - Wochentage.DIENSTAG.testmethode(); - - - - - - } - -} diff --git a/Programmierung2/src/oop/Enumeration/Wochentage.java b/Programmierung2/src/oop/Enumeration/Wochentage.java deleted file mode 100644 index 80e2f3e..0000000 --- a/Programmierung2/src/oop/Enumeration/Wochentage.java +++ /dev/null @@ -1,41 +0,0 @@ -package oop.Enumeration; - -public enum Wochentage {// erbt von abstract class (enum) - // wenn eine Konstante einen Konstruktor hat, dann sollen Alle Konstaten sollen einen Konstruktor haben - /* - * MONTAG("Arbeitstag"), - * DIENSTAG("Arbeitstag"); - */ - - // Alle Konstanten sollen die abstrakte Methoden implementieren - MONTAG ("Konstruktor: Montag") { - @Override - public void testmethode() { - System.out.println("Montag"); - } - - }, - DIENSTAG ("Konstruktor: Diesnstag"){ - @Override - public void testmethode() { - System.out.println("Diesnstag"); - } - }; - String status; - - Wochentage(String status){ - this.status = status; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public abstract void testmethode(); - - -} diff --git a/Programmierung2/src/oop/ExceptionHandling/Bildschirmfoto vom 2024-08-06 12-04-58.png b/Programmierung2/src/oop/ExceptionHandling/Bildschirmfoto vom 2024-08-06 12-04-58.png deleted file mode 100644 index a5ed8dc..0000000 Binary files a/Programmierung2/src/oop/ExceptionHandling/Bildschirmfoto vom 2024-08-06 12-04-58.png and /dev/null differ diff --git a/Programmierung2/src/oop/ExceptionHandling/Bildschirmfoto vom 2024-08-06 12-07-28.png b/Programmierung2/src/oop/ExceptionHandling/Bildschirmfoto vom 2024-08-06 12-07-28.png deleted file mode 100644 index 7d7a4aa..0000000 Binary files a/Programmierung2/src/oop/ExceptionHandling/Bildschirmfoto vom 2024-08-06 12-07-28.png and /dev/null differ diff --git a/Programmierung2/src/oop/ExceptionHandling/CheckedException.java b/Programmierung2/src/oop/ExceptionHandling/CheckedException.java deleted file mode 100644 index 4cfe17c..0000000 --- a/Programmierung2/src/oop/ExceptionHandling/CheckedException.java +++ /dev/null @@ -1,78 +0,0 @@ -package oop.ExceptionHandling; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; - -public class CheckedException { - - public static void main(String[] args) { - readFile("D:\\Test.txt"); - - } - - static void readFile(String filePath) { - FileReader reader = null; - // hier der Compiler zeigt mir eine Error und zwingt micht eine try-catch Block zu erstellen - try { - reader = new FileReader(filePath);// resource - System.out.println("File Inhalt: "); - - int r = 0; - while((r = reader.read()) != -1) { - System.out.print((char) r); - } - }catch(FileNotFoundException e) { - - System.out.println(e); - - }catch(IOException e) { - System.out.println(e); - }finally { - try { - reader.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - // try() mit resources, hier benötigt man finally block nicht - static void readFile2(String filePath) { - try (FileReader reader = new FileReader(filePath);) { - System.out.println("File Inhalt: "); - - int r = 0; - while((r = reader.read()) != -1) { - System.out.print((char) r); - } - }catch(FileNotFoundException e) { - - System.out.println(e); - - }catch(IOException e) { - System.out.println(e); - } - } - - - - // try() mit mehrere resources, hier benötigt man auch finally block nicht - static void readFile3(String filePath) { - try (FileReader reader = new FileReader(filePath); FileReader reader2 = new FileReader(filePath)) { - System.out.println("File Inhalt: "); - - int r = 0; - while((r = reader.read()) != -1) { - System.out.print((char) r); - } - }catch(FileNotFoundException e) { - - System.out.println(e); - - }catch(IOException e) { - System.out.println(e); - } - } - -} diff --git a/Programmierung2/src/oop/ExceptionHandling/ExceptionHandling.java b/Programmierung2/src/oop/ExceptionHandling/ExceptionHandling.java deleted file mode 100644 index d457359..0000000 --- a/Programmierung2/src/oop/ExceptionHandling/ExceptionHandling.java +++ /dev/null @@ -1,102 +0,0 @@ -package oop.ExceptionHandling; - -public class ExceptionHandling { - - /*Was ist das? - * - Hauptidee ist, dass falls der Programmer oder der User einen Fehler gemacht hat, läuft das Programm trotzdem weiter! - * - An exception ist ein unerwünschtes oder unerwartetes Ereignis - * ,das während der Ausführung eines Programms zur Laufzeit auftritt. - * - * - wenn man nicht weiß, was der Fehler ist, kann man dan die Basis Klasse aufrufen (Exception) - * aber das wird langsamer als wenn ich den Fehler direkt schreibe - * - * - unterstützt keine Methoden und Klasse - * - kann nicht als Parameter innerhalb einer Methode verwendet werden - * - kann aber innerhalb ale arten von Methoden geschrieben werden - * - * was sid die checked und unchecked Exceptions? - * - checked: Compiler zwingt mich ein try-catch Block zu erstellen und Sie erben von der Klasse Exception, aber nicht von RuntimeException. - * wie z.b(IOException, SQLException, FileNotFoundException) - * - unchecked: Compiler zwingt mich nicht try-catch Block zu erstllen und Sie erben nur von RuntimeException. - * wie z.b (ullPointerException, ArrayIndexOutOfBoundsException, ArithmeticException) - * - * welche Arten haben wir? - * 1. NullPointerException: Zugriff auf null-Referenz. - * 2. ArrayIndexOutOfBoundsException: Ungültiger Array-Indexzugriff. - * 3. ClassCastException: Ungültige Typumwandlung - * 4. ArithmeticException: Fehler in arithmetischer Operation (z.B. Division durch null). - * 5. NumberFormatException: Fehlerhafte Zahlumwandlung. - * 6. IOException: Eingabe-/Ausgabefehler. - * 7. FileNotFoundException: Datei nicht gefunden. - * 8. SQLException: Fehler in der Datenbankoperation. - * 9. IllegalArgumentException: Ungültiges Argument übergeben. - * etc... - */ - - - /* - * Try-catch block: - * - * try{ - * - m try-Block wird der Code geschrieben, - * der möglicherweise einen Fehler verursachen könnte. - * - * }catch(Exception e){ - * - Was passieren soll, wenn ein Fehler auftritt? - * - Exception:ist die Basisklasse für alle Ausnahmen, die das Programm möglicherweise behandeln sollte. - * wie z.b(IOException),SQLException,NullPointerException sind unterklasse von Exception - * - e: ist ist ein belibeger Name eines Objektes - * - * - man kann try in ein try erzeugen - * } - */ - public static void main(String[] args) { - - //Try-catch block beispiel - try { - int[] arr = new int[] {1,2,3}; - System.out.println(arr[4]); - }catch(Exception e) { - //entweder - System.out.println("das ist ungültig"); - //oder - System.out.println(e); - //oder - System.out.println(e + "das ist ungültig"); - } - // trotz des Fehlers läuft das Programm weiter, da ich try catch habe - System.out.println("1"); - - - //Try-catch block mit NullPointerException (ist eine klasse) beispiel - //also Objekt ist leer! - try { - int[] arr = null; - System.out.println(arr[4]); - }catch(Exception e) { - - System.out.println(e.toString()); - } - // trotz des Fehlers läuft das Programm weiter, da ich try catch habe - System.out.println("1"); - - - //Try-catch block mit NumberForamtEception (ist eine klasse) beispiel - try { - System.out.println("haöö");// die wird ausgegeben - int val = Integer.parseInt("String23"); - System.out.println(val); - System.out.println("haöö");// die wird nicht ausgegeben - }catch(Exception e) { - - System.out.println(e.toString()); - } - // trotz des Fehlers läuft das Programm weiter, da ich try catch habe - System.out.println("1"); - - - - } - - -} diff --git a/Programmierung2/src/oop/ExceptionHandling/Finally.java b/Programmierung2/src/oop/ExceptionHandling/Finally.java deleted file mode 100644 index 9debfef..0000000 --- a/Programmierung2/src/oop/ExceptionHandling/Finally.java +++ /dev/null @@ -1,58 +0,0 @@ -package oop.ExceptionHandling; - -public class Finally { - - public static void main(String[] args) { - /* - * Wenn ein Programmfehler auftaucht, springe in catch Block gib den Fehler aus und laufe nicht weiter - * und am Ende gib finally Block aus! - */ - try { - int arr[] = new int[5]; - arr[7] = 5; - - }catch(Exception e) { - - System.out.println(e); - return; - - }finally { - System.out.println("finally"); - } - - - /* - * wegen System.exit in catch wird finally Block nicht ausgegenen - */ - try { - int arr[] = new int[5]; - arr[7] = 5; - - }catch(Exception e) { - - System.out.println(e); - System.exit(0); - - }finally { - System.out.println("finally"); - } - //System.out.println(getNumber(3)); - - - } - - // hier wir die 3 ausgegben, weil finally soll ausgegeben werden - public static int getNumber(int x) { - - try { - if (x == 3) - return 1; - - }catch (Exception e){ - return 2; - - }finally { - return 3; - } - } -} diff --git a/Programmierung2/src/oop/ExceptionHandling/MultiCatchBlocks.java b/Programmierung2/src/oop/ExceptionHandling/MultiCatchBlocks.java deleted file mode 100644 index eb1b79c..0000000 --- a/Programmierung2/src/oop/ExceptionHandling/MultiCatchBlocks.java +++ /dev/null @@ -1,16 +0,0 @@ -package oop.ExceptionHandling; - -public class MultiCatchBlocks { - - public static void main(String[] args) { - try { - int arr[] = new int[5]; - arr[10] = 7/0; - } - catch(ArrayIndexOutOfBoundsException|java.lang.ArithmeticException ex) { - System.out.println(ex); - } - } - - -} diff --git a/Programmierung2/src/oop/ExceptionHandling/Throwkeyword.java b/Programmierung2/src/oop/ExceptionHandling/Throwkeyword.java deleted file mode 100644 index c02670e..0000000 --- a/Programmierung2/src/oop/ExceptionHandling/Throwkeyword.java +++ /dev/null @@ -1,44 +0,0 @@ -package oop.ExceptionHandling; - -public class Throwkeyword { - - public static void main(String[] args) { - // hier try und catch sind optional - try { - number(-1); - }catch (Exception e){ - System.out.println("die Zahl ist negativ"); - } - - /* - * in diesem try verfachen hier, wird das Block finally - * erst ausgeführt, before das Block catch mit throw - */ - try { - int x = 5/0; - - }catch(Exception e) { - throw new ArithmeticException("neu throw"); - - }finally{ - System.out.println("finally Block"); - } - - - - } - - //throws Exception ist hier optional - static void number(int number) throws Exception { - - if (number <= 0) { - //throw new ArithmeticException();Oder - //throw new ArithmeticException("das geht nicht");oder - ArithmeticException message = new ArithmeticException("die Zahl geht nicht"); - throw message; - } - - else - System.out.println("Die Zahl ist richtig"); - } -} diff --git a/Programmierung2/src/oop/ExceptionHandling/ThrowsKeyword.java b/Programmierung2/src/oop/ExceptionHandling/ThrowsKeyword.java deleted file mode 100644 index 9e7c141..0000000 --- a/Programmierung2/src/oop/ExceptionHandling/ThrowsKeyword.java +++ /dev/null @@ -1,39 +0,0 @@ -package oop.ExceptionHandling; - -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; - -public class ThrowsKeyword { - /* - * - Wenn der Programmiere weiß, wie er mit den Fehlern umgehen kann. - * - zwingt jeder, der solche Methoden implementiert, throws zu behandeln - */ - public static void main(String[] args) { - /* - * da ich in readFile Methode throws verwendet habe - * ,soll ich hier z.b try catch erzeugen - */ - try { - readFile("D:\\Test.txt"); - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - - public static void readFile(String File) throws FileNotFoundException, IOException{ - FileReader reader = new FileReader(File);// resource - System.out.println("File Inhalt: "); - - int r = 0; - while((r = reader.read()) != -1) { - System.out.print((char) r); - } - - } -} diff --git a/Programmierung2/src/oop/ExceptionHandling/UnCheckedException.java b/Programmierung2/src/oop/ExceptionHandling/UnCheckedException.java deleted file mode 100644 index edbe662..0000000 --- a/Programmierung2/src/oop/ExceptionHandling/UnCheckedException.java +++ /dev/null @@ -1,23 +0,0 @@ -package oop.ExceptionHandling; - -public class UnCheckedException { - - public static void main(String[] args) { - /* - * - Solche Errors kann man nicht mit try und Catch behandeln also sie sind keine gute Praxis - * - try und catch werden den Error nicht lösen - */ - try { - f(); - }catch (Error e) { - System.out.println(e);//java.lang.StackOverflowError - } - - } - - // Die Methode ruft sich bis unendlich - static void f() { - System.out.println("f()"); - f(); - } -} diff --git a/Programmierung2/src/oop/File-Handling.odt b/Programmierung2/src/oop/File-Handling.odt deleted file mode 100644 index 2bc3d1a..0000000 Binary files a/Programmierung2/src/oop/File-Handling.odt and /dev/null differ diff --git a/Programmierung2/src/oop/FileHandling/ByteKlassen/Eingefügtes Bild.png b/Programmierung2/src/oop/FileHandling/ByteKlassen/Eingefügtes Bild.png deleted file mode 100644 index 5096fe1..0000000 Binary files a/Programmierung2/src/oop/FileHandling/ByteKlassen/Eingefügtes Bild.png and /dev/null differ diff --git a/Programmierung2/src/oop/FileHandling/ByteKlassen/Fileinputstream.java b/Programmierung2/src/oop/FileHandling/ByteKlassen/Fileinputstream.java deleted file mode 100644 index b72dba1..0000000 --- a/Programmierung2/src/oop/FileHandling/ByteKlassen/Fileinputstream.java +++ /dev/null @@ -1,57 +0,0 @@ -package oop.FileHandling.ByteKlassen; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -//also ich habe daten auf meinm File und ich will diese Datein lesen oder importieren -// man kann heir mit Text bearbeiten aber es ist nicht dafür richtig alternative Möglichkeit (die abstrakte klasse reader und Writer) -public class Fileinputstream { - - /*read() Methode: - * - fis.read liest aus dem File nur ein Byte aus und gibt ein Integer zurück - * - z.b a liest als (97) lösung als (char) casting - * - wenn die Methode keinen Byte lesen kann, gibt -1 zurück - * - *read(byte [] b) Method: - * - die übernimmt array vom type byte - */ - - public static void main(String[] args) throws IOException { - FileInputStream fis = null; - fis = new FileInputStream("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\Test"); - { - // das ist falsch, weil ich die Aufruf der Methode ist falsch - while (fis.read() != -1) - System.out.print((char)fis.read()); - } - - - //richtig!! - int data; - while((data = fis.read()) != -1)// wenn kein mehr chars gibt, ist -1 - System.out.print((char)data); - - { - // read() übernimmt ein byte array - byte[] b = new byte[3]; // byte array - fis.read(b);// methode übernimmt byte array - String s = new String(b);//mit diesem Konstruktor gebe ich alle Inhalt aus ohne Loop - System.out.println(s); - } - - - - { - // read() übernimmt ein byte array mit dynamischen size für array - File f = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\Test"); - FileInputStream f2 = new FileInputStream(f); - byte[] b = new byte[(int) f.length()]; //Methode gibt long zurück size soll aber int sein - fis.read(b);// methode übernimmt byte array - String s = new String(b);//mit diesem Konstruktor gebe ich alle Inhalte aus (ohne Loop) - System.out.println(s); - } - - - - } -} diff --git a/Programmierung2/src/oop/FileHandling/ByteKlassen/Filoutputstream.java b/Programmierung2/src/oop/FileHandling/ByteKlassen/Filoutputstream.java deleted file mode 100644 index 8d6575e..0000000 --- a/Programmierung2/src/oop/FileHandling/ByteKlassen/Filoutputstream.java +++ /dev/null @@ -1,33 +0,0 @@ -package oop.FileHandling.ByteKlassen; - -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - -//also ich habe datein in meine Programm und ich will diese Datein zu meinem File schicken also (schreiben) -//man kann heir mit Text bearbeiten aber es ist nicht dafür richtig alternative Möglichkeit (die abstrakte klasse reader und Writer) - -public class Filoutputstream { - - /*write() methode: - * - die übernimmt nur (integer) zahlen - * - kann Strings mit Hilfe von byte array aufnehmen - * z.b fSchreiben.write("ABF".getBytes()); - * - fSchreiben.write("arabische sprache".getBytes()("UTF-8")); um andere Sprachen aufzunehmen - * - fSchreiben.flush(); stellt sicher, dass die Datein richtig geschrieben werden - * - */ - public static void main(String[] args) throws IOException { - // hier wenn er den File (Test2) nicht findet, erzeugt er File mit dem Name Test2 automatisch - FileOutputStream fSchreiben = new FileOutputStream("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\Test2"); - //fSchreiben.write(10); - fSchreiben.write("ä".getBytes()); - fSchreiben.flush(); - - //lesen der Datei - FileInputStream fLesen = new FileInputStream("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\Test2"); - System.out.println((char)fLesen.read()); - } - - -} diff --git a/Programmierung2/src/oop/FileHandling/ByteKlassen/LeseEinBild.java b/Programmierung2/src/oop/FileHandling/ByteKlassen/LeseEinBild.java deleted file mode 100644 index 5847edb..0000000 --- a/Programmierung2/src/oop/FileHandling/ByteKlassen/LeseEinBild.java +++ /dev/null @@ -1,33 +0,0 @@ -package oop.FileHandling.ByteKlassen; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -public class LeseEinBild { - - public static void main(String[] args) throws IOException { - //gibt mit die gesamte size vom byte meine Bildes - File file = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling"); - - FileInputStream fin = new FileInputStream(file); - byte b[] = new byte[(int) file.length()]; - fin.read(b); - - //Optional loop - for (int i = 0; i < b.length; i++) - System.out.print(b[i]); - - - /* - * - erstellt mir eine neues Bild mit dem Name (neues Bild) - * - dieses Verfahren kann mit allen Arten von Byts verwendet werden - */ - FileOutputStream fos = new FileOutputStream("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\neues Bild.png"); - fos.write(b); - fos.flush(); - fos.close(); - - - } - -} diff --git a/Programmierung2/src/oop/FileHandling/ByteKlassen/Test b/Programmierung2/src/oop/FileHandling/ByteKlassen/Test deleted file mode 100644 index f2ba8f8..0000000 --- a/Programmierung2/src/oop/FileHandling/ByteKlassen/Test +++ /dev/null @@ -1 +0,0 @@ -abc \ No newline at end of file diff --git a/Programmierung2/src/oop/FileHandling/ByteKlassen/Test2 b/Programmierung2/src/oop/FileHandling/ByteKlassen/Test2 deleted file mode 100644 index 9d3f046..0000000 --- a/Programmierung2/src/oop/FileHandling/ByteKlassen/Test2 +++ /dev/null @@ -1 +0,0 @@ -ä \ No newline at end of file diff --git a/Programmierung2/src/oop/FileHandling/ByteKlassen/neues Bild.png b/Programmierung2/src/oop/FileHandling/ByteKlassen/neues Bild.png deleted file mode 100644 index 5096fe1..0000000 Binary files a/Programmierung2/src/oop/FileHandling/ByteKlassen/neues Bild.png and /dev/null differ diff --git a/Programmierung2/src/oop/FileHandling/FileHandling.java b/Programmierung2/src/oop/FileHandling/FileHandling.java deleted file mode 100644 index 5d2dea1..0000000 --- a/Programmierung2/src/oop/FileHandling/FileHandling.java +++ /dev/null @@ -1,39 +0,0 @@ -package oop.FileHandling; - -public class FileHandling { - /* - * - bezieht sich auf das Arbeiten mit Dateien und Verzeichnissen, einschließlich Erstellen, Lesen, - * Schreiben, Bearbeiten und Löschen. - * - die Kommunikation zwischen File und Programm heißt (stream) - * - Programm liest (Read) aus dem File (Input stream) - * - Programm schreibt (Write) oder (speichert) auf dem File (output Stream) - * - Es gibt ein eingine Stream für Lesen - * - Es gibt ein eingine Stream für schreiben - * - man kann das easy in Konstruktor als parameter und methode als parameter machen oder drin - * - * - FileInputStream und FileOutPutStream sind für File Texte nicht geeignet, - * alternativ möglichkeit die abstrakte Klassen Reader und Writer - * - Hinweis: Die abstrakte Klasse Reader liest Zeichen für Zeichen und ruft die Methode read() jedes Mal auf, wenn ein neues Zeichen gelesen wird. - * Wenn wir z.B. 10 Zeichen lesen möchten, wird die Methode read() 10 Mal aufgerufen. - * - * Alternative Möglichkeit: Die Klasse BufferedReader kann verwendet werden, um ganze Zeilen oder größere Blöcke von Zeichen auf einmal zu lesen, - * was effizienter sein kann, da sie den Lesevorgang puffert und somit weniger oft auf die zugrunde liegende Datenquelle zugreift. - * - printWriter ist für alle Datentyps gut geeinigt (kann nur schreiben auf dem File) - * - Scanner ist für alle Datentyps gut geeinigt (kann nur lesen auf dem File) - * - flush() soll aufgerufen werden - * - BufferReader ist besser als Scanner - * - * Objekte einer Klasse können auch auf dem File gelesen und geschriben werden: - * - * - Serialization: ist eine (marker) lerre interface Klasse, die implemntiert werden soll - * , wenn wir das Objekt auf einem File schreiben möchten - * - * 1. Serialization (Objekt schreiben): Ist ein Mechanismus zur Umwandlung eines Objekts in einen Byte-Stream, - * der dann in einer Datei gespeichert werden kann. Dies wird durch die Klasse ObjectOutputStream ermöglicht. - * - * 2. Deserialization (Objekt lesen): Ist ein Mechanismus zur Umwandlung eines Byte-Streams zurück in ein Objekt. - * Dies wird durch die Klasse ObjectInputStream ermöglicht. - */ - - -} diff --git a/Programmierung2/src/oop/FileHandling/FileKlasse.java b/Programmierung2/src/oop/FileHandling/FileKlasse.java deleted file mode 100644 index 8a9b86f..0000000 --- a/Programmierung2/src/oop/FileHandling/FileKlasse.java +++ /dev/null @@ -1,64 +0,0 @@ -package oop.FileHandling; -import java.io.File; -import java.io.IOException; -// Hauptfunktion verwaltet Files -public class FileKlasse { - - /*Was macht diese Kalsse? - * - abstrakte Darstellungen von Dateipfaden und Verzeichnissen zu bieten und verschiedene Operationen darauf zu ermöglichen - * - sie befindet sich im Paket java.io - * - stellt keine Methode zum direkten Lesen oder Schreiben von Daten bereit. - * - Stattdessen bietet sie Funktionen zur Dateiverwaltung. - */ - public static void main(String[] args) { - File file = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\Test"); - - if (file.exists()) { - System.out.println("Datei existiert: " + file.getName()); - System.out.println("Pfad: " + file.getPath()); - System.out.println("Absoluter Pfad: " + file.getAbsolutePath()); - System.out.println("Schreibbar: " + file.canWrite());//ob der ich in der File schreiben kann - System.out.println("Lesbar: " + file.canRead()); //ob der ich in File lesen kann - System.out.println("Größe: " + file.length() + " Bytes"); - System.out.println("kann ausführen = " + file.canExecute()); //kann ich diesen Fiel bearbeiten (ja/nein) - - } - // test3 File existiert nicht im Pfad also wird einen neuen Pfeil erstellt - File file2 = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\Test3"); - // try catch sollen erzuegt werden - try { - if (file.createNewFile()) // createNewFile() gibt boolean zurück,ob der File ergolgreich erstellt wurde oder nicht - System.out.println("Datei erstellt: " + file.getName()); // der File muss im Pfad nicht existieren, damit es erstellt wurde - else - System.out.println("Fehler beim Erstellen der Datei."); - - } catch (IOException e) { - e.printStackTrace(); - } - - // erstelle ein Verzeichnes - File folder = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\TestFolder"); - if (!folder.exists()) { - if (folder.mkdir()) - System.out.println("Verzeichnis erstellt: " + folder.getName()); - else - System.out.println("Fehler beim Erstellen des Verzeichnisses."); - } - - - // gibt die Inhalt eines Folders zurück - File dir2 = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\TestFolder"); - - // Auflisten der Inhalte des Verzeichnisses mit Hilfe eines String arrays - String[] fileList = dir2.list(); - if (fileList != null) { - System.out.println("Inhalte des Verzeichnisses:"); - for (String fileName : fileList) - System.out.println(fileName); - - } else - System.out.println("Das Verzeichnis ist leer oder konnte nicht aufgelistet werden."); - - } - -} diff --git a/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/FileTest.txt b/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/FileTest.txt deleted file mode 100644 index c9d61dc..0000000 Binary files a/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/FileTest.txt and /dev/null differ diff --git a/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/Test.java b/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/Test.java deleted file mode 100644 index 18b7212..0000000 --- a/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/Test.java +++ /dev/null @@ -1,53 +0,0 @@ -package oop.FileHandling.SerializationAndDeserialization; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.util.ArrayList; - -public class Test { - - public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { - - File file = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\SerializationAndDeserialization\\FileTest.txt"); - - //(Serialization): schreibe das Objekt auf dem File als byte stream - ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); - writeObjekt write = new writeObjekt(111,"obai",3.4); - oos.writeObject(write); - - //(Deserialization): Lese das Objekt auf dem File als byte stream - ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); - - // Das zurückgegebene Objekt muss in den spezifischen Typ gecastet werden - writeObjekt f1 = (writeObjekt) ois.readObject(); - System.out.println(f1); - - - - // multiple objects (lesen & schreiben) - - //schreiben: - writeObjekt s1 = new writeObjekt(111,"Obai",2.2); - writeObjekt s2 = new writeObjekt(111,"Omar",2.2); - ArrayList list = new ArrayList<>(); - list.add(s1); - list.add(s2); - - ObjectOutputStream writeList = new ObjectOutputStream(new FileOutputStream(file)); - writeList.writeObject(list); - - //Lesen: - ObjectInputStream readList = new ObjectInputStream(new FileInputStream(file)); - ArrayList multiobjekt = (ArrayList)readList.readObject(); - System.out.println(multiobjekt); - - - - } - -} diff --git a/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/writeObjekt.java b/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/writeObjekt.java deleted file mode 100644 index d5cbf51..0000000 --- a/Programmierung2/src/oop/FileHandling/SerializationAndDeserialization/writeObjekt.java +++ /dev/null @@ -1,48 +0,0 @@ -package oop.FileHandling.SerializationAndDeserialization; - -import java.io.Serializable; -/* - * Serializable ist ein marker (leere) Interface kalsse, soll implementiert werden - */ - -public class writeObjekt implements Serializable { - - int id; - String name; - double Note; - - public writeObjekt(int id, String name, double note) { - this.id = id; - this.name = name; - Note = note; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getNote() { - return Note; - } - - public void setNote(double note) { - Note = note; - } - - @Override - public String toString() { - return "Student [id=" + id + ", name=" + name + ", Note=" + Note + "]"; - } -} diff --git a/Programmierung2/src/oop/FileHandling/TestFolder/1.txt b/Programmierung2/src/oop/FileHandling/TestFolder/1.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Programmierung2/src/oop/FileHandling/TestFolder/2.txt b/Programmierung2/src/oop/FileHandling/TestFolder/2.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Programmierung2/src/oop/FileHandling/character/Bufferedreader.java b/Programmierung2/src/oop/FileHandling/character/Bufferedreader.java deleted file mode 100644 index 334ab95..0000000 --- a/Programmierung2/src/oop/FileHandling/character/Bufferedreader.java +++ /dev/null @@ -1,28 +0,0 @@ -package oop.FileHandling.character; -import java.io.FileReader; -import java.io.File; -import java.io.IOException; -import java.io.BufferedReader; - -/* - * - hauptfubktion: Liest ganze Zeilen (line by line) auf einmal und ruft die Methode readLine() aus - * - */ -public class Bufferedreader { - - public static void main(String[] args) throws IOException { - BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1")); - String line = br.readLine(); - /* - * - Liest nur eine einzige Line auf dem File - * Lösungsmöglichkeit => Loop erzeugen - */ - while(line != null) { - System.out.println(line); // print die erste Line - line = br.readLine(); // spring auf die nächste Linie - } - - - } - -} diff --git a/Programmierung2/src/oop/FileHandling/character/Bufferedwriter.java b/Programmierung2/src/oop/FileHandling/character/Bufferedwriter.java deleted file mode 100644 index bcfed73..0000000 --- a/Programmierung2/src/oop/FileHandling/character/Bufferedwriter.java +++ /dev/null @@ -1,36 +0,0 @@ -package oop.FileHandling.character; -import java.io.FileWriter; -import java.io.File; -import java.io.IOException; - -import java.io.BufferedWriter; -/* - * - hauptfubktion: Liest ganze Zeilen auf einmal und ruft die Methode readLine() aus - * - br.write(97); => 'a' sie liest keine Integer zahlen - * - br.write(10.5) => error geht nicht - * - br.write(boolean) => error geht nicht - * Alternative Möglichkeit (PrintWriter ) kann alle Daten Typs auf dem File schreiben - */ -public class Bufferedwriter { - - public static void main(String[] args) throws IOException { - /* - * - BufferedWriter übernimmt keine Pfad für einen File, - * sondern übernimmt sie ein Objekt aus der Klasse (FileWriter) die extends die Abstrakte Klasse Writer - * - FileWriter Klass hilft mir BufferedWriter zu verwenden - */ - - /* - * true, damit Wenn {@code true}, werden die Daten (fix geschpeichert) - * anstatt an den Anfang. also die Datein werden nicht überschrieben werden - */ - BufferedWriter b1 = new BufferedWriter(new FileWriter("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1",true)); - b1.write("Hallo Welt"); - b1.newLine(); // neue Linie - b1.write("Hallo Welt2"); - b1.flush(); - b1.close(); - - } - -} diff --git a/Programmierung2/src/oop/FileHandling/character/Filereader.java b/Programmierung2/src/oop/FileHandling/character/Filereader.java deleted file mode 100644 index c6aa85f..0000000 --- a/Programmierung2/src/oop/FileHandling/character/Filereader.java +++ /dev/null @@ -1,35 +0,0 @@ -package oop.FileHandling.character; - -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -public class Filereader { - /* - * - Das Verfahren läuft ganz geanu wie beim FileInputStream - * - Kritik: FileReader liest jedes Char ich habe 10 Zeichen - * die Methode read() wird in dem Fall sich selbst 10 mal aufrufen - * Alternativ möglichkeit (BufferedReader) - */ - public static void main(String[] args) throws IOException { - - File file = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1"); - FileReader fr = new FileReader(file); - - // lese Dateien - // Variante 1: - int i; - while((i = fr.read()) != -1) - System.out.print((char)i); - - // Variante 2: Mit Hilfe von File Klasse - char[] speicher = new char[(int) file.length()]; - fr.read(speicher); - for (char c : speicher) - System.out.print(c); - - - - } - -} diff --git a/Programmierung2/src/oop/FileHandling/character/Filewriter.java b/Programmierung2/src/oop/FileHandling/character/Filewriter.java deleted file mode 100644 index 47471aa..0000000 --- a/Programmierung2/src/oop/FileHandling/character/Filewriter.java +++ /dev/null @@ -1,28 +0,0 @@ -package oop.FileHandling.character; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; - -public class Filewriter { - // für Schreiben auf einem beliebig File - public static void main(String[] args) throws IOException { - //erstelle einen File - File newFile = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1"); - if (newFile.createNewFile()) // createNewFile() gibt boolean zurück,ob der File ergolgreich erstellt wurde oder nicht - System.out.println("Datei erstellt: " + newFile.getName()); // der File muss im Pfad nicht existieren, damit es erstellt wurde - - String str = "Hallo Welt"; - FileWriter fr = new FileWriter("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1"); - fr.write(str); //wird Hallo Welt auf dem File geschrieben! - fr.write("\n"); // breakline im File - fr.write(str, 0, str.length()); //schreibt string von int x inkl bis int y exklus - fr.write("\n"); - fr.write('2'); - - fr.close(); - - - } - -} diff --git a/Programmierung2/src/oop/FileHandling/character/OutPutStreamWriter.java b/Programmierung2/src/oop/FileHandling/character/OutPutStreamWriter.java deleted file mode 100644 index 2a868c6..0000000 --- a/Programmierung2/src/oop/FileHandling/character/OutPutStreamWriter.java +++ /dev/null @@ -1,18 +0,0 @@ -package oop.FileHandling.character; -import java.io.Writer; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; - -public class OutPutStreamWriter { - - public static void main(String[] args) throws IOException { - // die Klasse (OutputStreamWriter) extends (Writer) - - Writer writer = new OutputStreamWriter(new FileOutputStream("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1")); - String str = "hi Welt"; - writer.write(str); - writer.flush();// da ich diese Methode aufgerufen habe, wurden die Datein zugeschieckt! - } - -} diff --git a/Programmierung2/src/oop/FileHandling/character/Printwriter.java b/Programmierung2/src/oop/FileHandling/character/Printwriter.java deleted file mode 100644 index 74b1b68..0000000 --- a/Programmierung2/src/oop/FileHandling/character/Printwriter.java +++ /dev/null @@ -1,32 +0,0 @@ -package oop.FileHandling.character; - -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; - -public class Printwriter { - /* - * - schreibt alle Daten Typs auf dem File - * - flush() soll aufgerufen werden - */ - public static void main(String[] args) throws IOException { - // - flush() soll aufgerufen werden - PrintWriter pr = new PrintWriter("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1"); -// pr.println(97); -// pr.println("AAA"); -// pr.println('B'); -// pr.println(true); -// pr.flush(); - - // oder - FileWriter fr = new FileWriter("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1"); - PrintWriter pr2 = new PrintWriter(fr, true); //true steht für flush() Aufruf - pr2.write(97); // wenn wir write verwenden, sollen wir flush() aufrufen - pr2.println("AAA"); - pr2.println('B'); - pr2.println(true); - - - } - -} diff --git a/Programmierung2/src/oop/FileHandling/character/Scannerklass.java b/Programmierung2/src/oop/FileHandling/character/Scannerklass.java deleted file mode 100644 index be4ff4a..0000000 --- a/Programmierung2/src/oop/FileHandling/character/Scannerklass.java +++ /dev/null @@ -1,25 +0,0 @@ -package oop.FileHandling.character; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Scanner; - -public class Scannerklass { - - public static void main(String[] args) throws IOException { - File fr = new File("C:\\Users\\obaya\\eclipse-workspace\\OOP\\src\\oop\\FileHandling\\character\\Test1"); - Scanner scan = new Scanner(fr); - - //System.out.println(scan.next()); liest nur ein wort und hört dann auf - //System.out.println(scan.nextLine()); // Liest nur eine Line und hört dann auf -// -// while(scan.hasNextLine())// hilfe mir alle Zeilen zu lesen -// System.out.println(scan.nextLine()); - - scan.useDelimiter("w"); // gibt Foramt für den Text aus dem File - while(scan.hasNext())// hilfe mir alle Wörter zu lesen - System.out.println(scan.next()); - } - -} diff --git a/Programmierung2/src/oop/FileHandling/character/Test1 b/Programmierung2/src/oop/FileHandling/character/Test1 deleted file mode 100644 index e69de29..0000000 diff --git a/Programmierung2/src/oop/FinalKeyword/FinalKeywords.java b/Programmierung2/src/oop/FinalKeyword/FinalKeywords.java deleted file mode 100644 index 1795610..0000000 --- a/Programmierung2/src/oop/FinalKeyword/FinalKeywords.java +++ /dev/null @@ -1,38 +0,0 @@ -package oop.FinalKeyword; - -public class FinalKeywords { - - /* - * Final is a non-access modifier applicable only to: - * Final variables oder (Constant Variables) oder (const Variables) - * Final parameters - * Final methods - * Final classes - * Final References - * - * - * Final variables oder: - * final variable soll immer groß geschrieben werden. - * für final variable kann nicht setter und getter erstellt werden - * final static variable können in Constructor keinen Wert zuweisen werden - * final variable sind mit Scanner gültig - * - * - * - * Final methods: - * final methods können nicht überschrieben werden. complier error - * final-Methoden können in überladen werden. - * - * - * Final Classes: - * final classes können nicht geerbt werden. - * classes die Private Konstruktoren hat, kann auch nicht geerbt werden - * - * - * - *Final References: - *final References können nur einmal Werte zugewiesen Werden. - * - */ - -} diff --git a/Programmierung2/src/oop/FinalKeyword/Student.java b/Programmierung2/src/oop/FinalKeyword/Student.java deleted file mode 100644 index 1974ded..0000000 --- a/Programmierung2/src/oop/FinalKeyword/Student.java +++ /dev/null @@ -1,64 +0,0 @@ -package oop.FinalKeyword; - -public class Student { - final int STUDENT_ID ; - final static int degree; - String name; - int geburtstag; - - /* so geht - * {STUDENT_ID = 200;} - */ - - - //oder so; - Student(){ - STUDENT_ID = 20; - //degree = 2; Das ist verboten - } - // nur in static block - static { - degree = 20; - } - - - public Student(final int STUDENT_ID, String name, int geburtstag) { - //STUDENT_ID = 0; verboten, das STUDENT_ID final ist - this.STUDENT_ID = STUDENT_ID; - this.name = name; - this.geburtstag = geburtstag; - } - - // getmethod ist gültig - public int getSTUDENT_ID() { - return STUDENT_ID; - } - - - /*das ist verboten, weil wir STUDENT_ID nicht ersetzen dürfen - - * public int setSTUDENT_ID(int STUDENT_ID) { - this.STUDENT_ID = STUDENT_ID; - } - */ - - - @Override - final public String toString() { - return "Student [STUDENT_ID=" + STUDENT_ID + ", name=" + name + ", geburtstag=" + geburtstag + "]"; - } -} - - - -class GraduatedStudent extends Student{ - - /*Verboten - * @Override - * public String toString() { - return "Student [STUDENT_ID=" + STUDENT_ID + ", name=" + name + ", geburtstag=" + geburtstag + "]"; - } - */ - - -} diff --git a/Programmierung2/src/oop/FinalKeyword/Test.java b/Programmierung2/src/oop/FinalKeyword/Test.java deleted file mode 100644 index c549d9d..0000000 --- a/Programmierung2/src/oop/FinalKeyword/Test.java +++ /dev/null @@ -1,14 +0,0 @@ -package oop.FinalKeyword; - - -public class Test { - - public static void main(String[] args) { - final Student st1 = new Student(123,"obai",2001); - - // st1 = new Student (123,"obai",2001); Verboten - - System.out.print(st1.toString()); - } - -} diff --git a/Programmierung2/src/oop/Generics/AddMitarbeiter.java b/Programmierung2/src/oop/Generics/AddMitarbeiter.java deleted file mode 100644 index 3d24886..0000000 --- a/Programmierung2/src/oop/Generics/AddMitarbeiter.java +++ /dev/null @@ -1,21 +0,0 @@ -package oop.Generics; -import java.util.ArrayList; - - -public class AddMitarbeiter { - - ArrayList m1 = new ArrayList<>(); - - public ArrayList getM1() { - return m1; - } - - public void setM1(ArrayList m1) { - this.m1 = m1; - } - - @Override - public String toString() { - return "AddMitarbeiter [m1=" + m1 + "]"; - } -} diff --git a/Programmierung2/src/oop/Generics/DateTyps.java b/Programmierung2/src/oop/Generics/DateTyps.java deleted file mode 100644 index 7dde328..0000000 --- a/Programmierung2/src/oop/Generics/DateTyps.java +++ /dev/null @@ -1,23 +0,0 @@ -package oop.Generics; - -public class DateTyps { - - private T inhalt; - private F inhalt2; - - public void setInhalt(T inhalt, F inhalt2 ) { - this.inhalt = inhalt; - this.inhalt2 = inhalt2; - } - - public T getInhalt() { - - return inhalt; - - } - - public F getInhalt2() { - return inhalt2; - } - -} diff --git a/Programmierung2/src/oop/Generics/EinfachesBeispiel.java b/Programmierung2/src/oop/Generics/EinfachesBeispiel.java deleted file mode 100644 index 106440a..0000000 --- a/Programmierung2/src/oop/Generics/EinfachesBeispiel.java +++ /dev/null @@ -1,61 +0,0 @@ -package oop.Generics; - -import java.util.ArrayList; - -public class EinfachesBeispiel { - - - - public static void main(String[] args) { - - - - - int[] intArray = {1,2,3,4,5}; - double[] doubleArray = {1.1,2.2,3.3,4.12,4.4}; - float[] floatArray = {1.1f,2.2f,3.3f,4.12f,4.4f}; - - //auslesen(floatArray); - - // für Generic - Integer[] IntegerArray = {1,2,3,4,5}; - Double[] DoubleArray = {1.1,2.2,3.3,4.12,4.4}; - Float[] FloatArray = {1.1f,2.2f,3.3f,4.12f,4.4f}; - Character[] characterArray = {'a','b','c'}; - String[] stringArray = {"hallo","Welt"}; - - //auslesenGenerics(stringArray); - - - var variable = 1.1; - System.out.print(variable); - - } - public static void auslesen(int[] array) { - - for (int i : array) - System.out.print(i + " "); - } - - public static void auslesen(double[] array) { - - for (double i : array) - System.out.print(i + " "); - } - - - public static void auslesen(float[] array) { - - for (float i : array) - System.out.print(i + " "); - } - - // ich muss nicht immer die Mthode überladen wie oben die Methoden - // ich schicke also eine Objekt an diese Methode - public static void auslesenGenerics(obj[] array) { - - for (obj i : array) - System.out.print(i + " "); - } - -} diff --git a/Programmierung2/src/oop/Generics/Generics.java b/Programmierung2/src/oop/Generics/Generics.java deleted file mode 100644 index 30a4931..0000000 --- a/Programmierung2/src/oop/Generics/Generics.java +++ /dev/null @@ -1,19 +0,0 @@ -package oop.Generics; - -public class Generics { - - /* - * Generics ist ein Konzept in der Programmierung, das es ermöglicht, Klassen, Methoden und Schnittstellen so zu schreiben - * ,dass sie mit beliebigen Datentypen arbeiten können. - * Anstatt festzulegen, dass eine Klasse oder Methode nur mit einem bestimmten Datentyp (z.B. int, String) arbeiten kann - * , können Generics verwendet werden, um den Datentyp flexibel zu gestalten. - * - * Generic wird durch: Namen ein Typparameter in spitzen Klammern (<>) angegeben wird - * - * Generic funktionert mit: - * 1. Klassen: (public class Box) - * 2. Methoden: (public static void printArray(T[] array)) - * 3. Interfaces: (public interface Container) - */ - -} diff --git a/Programmierung2/src/oop/Generics/Mietarbeiter.java b/Programmierung2/src/oop/Generics/Mietarbeiter.java deleted file mode 100644 index db912ce..0000000 --- a/Programmierung2/src/oop/Generics/Mietarbeiter.java +++ /dev/null @@ -1,23 +0,0 @@ -package oop.Generics; - -public class Mietarbeiter { - - String name; - int alter; - - public Mietarbeiter(String name, int alter) { - super(); - this.name = name; - this.alter = alter; - } - - - - @Override - public String toString() { - return "Mietarbeiter [name=" + name + ", alter=" + alter + "]"; - } - - - -} diff --git a/Programmierung2/src/oop/Generics/Test.java b/Programmierung2/src/oop/Generics/Test.java deleted file mode 100644 index d7f8322..0000000 --- a/Programmierung2/src/oop/Generics/Test.java +++ /dev/null @@ -1,22 +0,0 @@ -package oop.Generics; - -import java.util.ArrayList; - -public class Test { - - public static void main(String[] args) { - - Mietarbeiter m = new Mietarbeiter("obai", 24); - AddMitarbeiter addMitarbeiter = new AddMitarbeiter(); - - addMitarbeiter.getM1().add(m); - - System.out.println(addMitarbeiter); - - - - //DateTyps d1 = new DateTyps<>(); - - } - -} diff --git a/Programmierung2/src/oop/InnereKlassen/Allgemein.java b/Programmierung2/src/oop/InnereKlassen/Allgemein.java deleted file mode 100644 index dabae45..0000000 --- a/Programmierung2/src/oop/InnereKlassen/Allgemein.java +++ /dev/null @@ -1,25 +0,0 @@ -package oop.InnereKlassen; - -public class Allgemein { - - /*Was ist das? - * - In Java gibt es vier Haupttypen von inneren Klassen (auch bekannt als Nested Classes) - * - Diese Klassen werden innerhalb einer anderen Klasse definiert und haben unterschiedliche Eigenschaften und Anwendungsfälle - * - es ist die Möglichkeit eine Klasse in eine andere Klasse zu binden - * - diese Klasse heißt "innere Klasse" - * - Java definiert vier Typen von inneren Klassen - * - * - * . Zusammenfassung: - * - Statische Innere Klassen: sind unabhängig von der äußeren Klasseninstanz und haben Zugriff nur auf die statischen Mitglieder der äußeren Klasse. - * - Nicht-statische Innere Klassen: benötigen eine Instanz der äußeren Klasse und haben Zugriff auf alle Mitglieder dieser Instanz. - * - Lokale Innere Klassen: sind methoden-spezifisch und können nur innerhalb der Methode verwendet werden, in der sie definiert sind. - * - Anonyme Innere Klassen: sind namenlose Klassen, die sofort erstellt werden und in der Regel verwendet werden, um eine Schnittstelle oder abstrakte Klasse schnell zu implementieren. - */ - class Außen{ - class Innen{ - - } - } - -} diff --git a/Programmierung2/src/oop/InnereKlassen/AnonymeInnereKlassen.java b/Programmierung2/src/oop/InnereKlassen/AnonymeInnereKlassen.java deleted file mode 100644 index 6d03050..0000000 --- a/Programmierung2/src/oop/InnereKlassen/AnonymeInnereKlassen.java +++ /dev/null @@ -1,26 +0,0 @@ -package oop.InnereKlassen; - -public class AnonymeInnereKlassen { - /* - * - hat keinen eigenen Name - * - Sie wird sofort in einer Ausdrücke definiert und instanziiert, oft als Implementierung einer Schnittstelle oder als Erweiterung einer Klasse, wenn nur eine einzige Instanz benötigt wird. - * - Sie wird sofort in einer Ausdrücke definiert und instanziiert, oft als Implementierung einer Schnittstelle oder als Erweiterung einer Klasse, wenn nur eine einzige Instanz benötigt wird. - * - sind ideal für einmalige Verwendungen - * - die verwendung von extends und imolements ist nicht erlaubt - */ - - interface MyInterface { - void display(); - } - - public static void main(String[] args) { - MyInterface obj = new MyInterface() { - @Override - public void display() { - System.out.println("Hello from Anonymous Inner Class"); - } - }; - obj.display(); - } - -} diff --git a/Programmierung2/src/oop/InnereKlassen/LokaleInnereKlasse.java b/Programmierung2/src/oop/InnereKlassen/LokaleInnereKlasse.java deleted file mode 100644 index d25fb48..0000000 --- a/Programmierung2/src/oop/InnereKlassen/LokaleInnereKlasse.java +++ /dev/null @@ -1,48 +0,0 @@ -package oop.InnereKlassen; -/* - * - wird nur innerhalb einer Methode, eines Konstruktors oder eines Blocks definiert - * - Sie ist nur innerhalb des Umfangs sichtbar, in dem sie definiert ist. - * - Wird typischerweise verwendet, um eine Klasse zu definieren, die nur in einer bestimmten Methode benötigt wird. - * - lokale Schnittstellen (interfaces) sind nicht erlaubt - * - */ -public class LokaleInnereKlasse { - - final int x = 2; - private final String nichtLokal = "ich bin nicht Lokal"; - - public static void main(String[] args) { - // diese Klasse ist nur innerhalb der Main methode sichtbar - class LokaleKlasse{ - public String toString(){ - return "ich bin Lokal22"; - } - - } - - LokaleKlasse lokal = new LokaleKlasse(); - System.out.println(lokal.toString()); - - LokaleInnereKlasse test = new LokaleInnereKlasse(); - test.zweiteLokaleKlasse(); - - } - - public void zweiteLokaleKlasse() { - - final String ausgabe = "Ich bin lokal in einer methode"; - - class LokaleKlass2{ - private final String lokal = "Ich bin Lokal"; - - public void print() { - System.out.println(nichtLokal + " " + ausgabe + " "+ " " + lokal ); - } - - } - - LokaleKlass2 lokale2 = new LokaleKlass2(); - lokale2.print(); - - } -} diff --git a/Programmierung2/src/oop/InnereKlassen/NichtStatischeInnereKlasse.java b/Programmierung2/src/oop/InnereKlassen/NichtStatischeInnereKlasse.java deleted file mode 100644 index 1fc956d..0000000 --- a/Programmierung2/src/oop/InnereKlassen/NichtStatischeInnereKlasse.java +++ /dev/null @@ -1,45 +0,0 @@ -package oop.InnereKlassen; -/* - * - heißt auch (member class) - * - zählt auch als Attribut - * - kann auf alle Elemente der äußere Klasse zugreifen,die auch (private sind) - * - um ein Objekt der Hauptspeicher zu erzeugen, soll Objekt Computer erst erzeugt werden - * - unterschied zu statischen, da statischen ohne Objekt der äußere klassen sein können - * - nicht-statische-innere klassen dürfen keine statische Elemente definieren - * - sind wichtig für kompositionen - */ - -public class NichtStatischeInnereKlasse { - - public class Computer{ - // String static user = "obai"; verboten - String hersteller = "HP"; - Hauptspeicher speicher = new Hauptspeicher(); - // ist verboten - public static void print() { - System.out.println("hallo"); - } - - class Hauptspeicher{ - int groesse = 1024; - - public String gethersteller() { - //Zugriff auf das Attribut 'hersteller' der äußeren Klasse 'Computer' - return hersteller; - } - - - } - - } - - public static void main(String[] args) { - NichtStatischeInnereKlasse n1 = new NichtStatischeInnereKlasse(); - - NichtStatischeInnereKlasse.Computer c1 = n1.new Computer(); - Computer.Hauptspeicher h1= c1.new Hauptspeicher(); - System.out.println(h1.gethersteller() + " " + h1.groesse); - c1.print(); - } - -} diff --git a/Programmierung2/src/oop/InnereKlassen/StatischeInnereKlasse.java b/Programmierung2/src/oop/InnereKlassen/StatischeInnereKlasse.java deleted file mode 100644 index 08fc1a7..0000000 --- a/Programmierung2/src/oop/InnereKlassen/StatischeInnereKlasse.java +++ /dev/null @@ -1,80 +0,0 @@ -package oop.InnereKlassen; -/* - * - diese ist die einfachste Variante einer innere Klasse - * - wege der Schachtelung wird dieser Typ im Englischen "nested top-Level class" genannt - * - diese Klasse kann das Gleiche wie "normale" Klassen oder Schnittstellen - * - statische innere Klasse benötigen keine Instanzen (Exemplare) der äußeren Klasse - * - statische innere Klasse werden nur sehr selten verwendet - * - Statische innere Klassen in Java können auf die statischen Elemente der äußeren Klasse zugreifen, - * (sobald) diese Elemente in der statischen inneren Klasse aufgerufen werden - * - der Zugriff von der äußeren Klasse auf die innere Klasse ist nur möglich, wenn die äußere Klasse eine Instanz der inneren Klasse erstellt, - es sei denn, die innere Klasse ist statisch - - - der statische Klasse soll anderen Name als der äußere Klasse haben - - * Wichtig: es gibt aber einen Weg, um auf die nicht-statische Elemente zuzugreifen (mit ein Objekt) - */ - -public class StatischeInnereKlasse { - public static int x = 2; - private int y = 1; - - // äußere Klasse - public static String außen() { - return "ich bin außen"; - } - - // Zugriff auf die innere Klasse von äußen - public int getf() { - Innereklasse k1 = new Innereklasse(); - return k1.f; - } - - //Innere klasse - public static class Innereklasse{ - public static int d = x; - public static int f = 20; - - public String toString() { - return "ich bin innen"; - } - //Aufruf der statische Attribute der x der äußern klasse - public int getx() { - return x; - } - - // Aufruf der nicht statische Elemente der äußere Klasse - public void printy(StatischeInnereKlasse ob) { - System.out.println(ob.y); - } - - //Aufruf der Konstruktor der äußere Klasse - void accessOuterConstructor() { - // Erstellen einer neuen Instanz der äußeren Klasse und Zugriff auf ihre Elemente - StatischeInnereKlasse newOuterInstance = new StatischeInnereKlasse(); - System.out.println("New Instance Variable: " + newOuterInstance.y); - } - - } - - - - - //zugreife auf innen und außen - public static void main(String[] args) { - - //zugriff nur auf das äußere Klasse - StatischeInnereKlasse außereKlasse = new StatischeInnereKlasse(); - System.out.println(außereKlasse.toString()); - //zugriff auf die elemente der innere Klasse von äußen - System.out.println(außereKlasse.getf()); - //System.out.println(außereKlasse.f); Fehler geht nicht - - //Zugriff auf die innere Klasse - StatischeInnereKlasse.Innereklasse innere = new StatischeInnereKlasse.Innereklasse(); - System.out.println(innere.getx());//2 - //System.out.println(innere.d); - innere.printy(außereKlasse); - } - -} diff --git a/Programmierung2/src/oop/Interface/Auto.java b/Programmierung2/src/oop/Interface/Auto.java deleted file mode 100644 index 3e55fce..0000000 --- a/Programmierung2/src/oop/Interface/Auto.java +++ /dev/null @@ -1,58 +0,0 @@ -package oop.Interface; - -public final class Auto implements Movable,SelfDrivable { - - int x,y; - int numberOffahrer; - - - public Auto() { - - } - - public Auto(int x, int y) { - this.x = x; - this.y = y; - } - - @Override - public void destination(String d) { - System.out.println("Destination = " + d); - } - - @Override - public void drive() { - System.out.println("drive"); - - } - - @Override - public void moveUp() { - y--; - } - - @Override - public void moveDown() { - y++; - } - - @Override - public void moveLeft() { - x--; - } - - @Override - public void moveRight() { - x++; - } - - public void newMethod() { - - System.out.print("SelfDrivable"); - } - - - - - -} diff --git a/Programmierung2/src/oop/Interface/Interface.java b/Programmierung2/src/oop/Interface/Interface.java deleted file mode 100644 index 1fe9531..0000000 --- a/Programmierung2/src/oop/Interface/Interface.java +++ /dev/null @@ -1,63 +0,0 @@ -package oop.Interface; - -public class Interface { - - /*Was ist das? - * Eigentlich ist das fast wie die Abstrakte klassen außer: - * - * Implementierung Mehrfachvererbung - * abstrakte Klasse - * - * public interface klasseName - * alle Attribute werden automatisch (public static final) - * fast alle methoden werden automatisch (public abstract) - * ,außer die default methoden, die sollen aber in unterkalsse mit dem Wort public (soll geschrieben werden) implementiert werden und die können überschrieben werden - * Interface kann auch statiche methoden haben, die implementiert werden sollen - * default methoden sind nur in Interface erlaubt! - * final methoden sind nicht erlaubt, da sie abstrake sind und sollen überschreiben werden! - * private methoden sind erlaubt aber nur in der selben Klasse! - * Interface kann keinen Konstruktor haben! - * die untereklasse soll alle methode der Interface klasse implementieren - * - * - * NestedInterface: - * public interface NestedInterface { - void test(); - - interface InnerInterface { - default void test2() { - System.out.print("Innerinterface"); - } - } - - implements wid durch NestedInterface.InnerInterface - - *Functional Interface: - * @FunctionalInterface - public interface Test2{ - int berechne(int a, int b); - - } - * @FunctionalInterface dieses Interfaceklasse kann nur - * (eine abstratke) methode haben aber unendlich viele - * default,static und private methoden haben - * - * Marker or Tagging Interface: - * ist ein Interface in Java, das keine Methoden oder Konstanten deklarier - * - * - * - * wichtig: - * . eine unterekalsse extends eine Obereklasse - * . eine normale oder final Klasse kann implements eine interface klasse - * . eine interface klasse extends eine interface klasse - * - * welche java types kann interface implementieren? - * 1. klassen - * 2. abstrakte klassen - * 3. nested Klassen (Verschateten klassen) - * 4. Enum - * 5. dynamic proxy - */ - -} diff --git a/Programmierung2/src/oop/Interface/Movable.java b/Programmierung2/src/oop/Interface/Movable.java deleted file mode 100644 index 6638ecf..0000000 --- a/Programmierung2/src/oop/Interface/Movable.java +++ /dev/null @@ -1,15 +0,0 @@ -package oop.Interface; - -public interface Movable { - - void moveUp(); - void moveDown(); - void moveLeft(); - void moveRight(); - - default void newMethod() { - - System.out.print("SelfDrivable"); - } - -} diff --git a/Programmierung2/src/oop/Interface/SelfDrivable.java b/Programmierung2/src/oop/Interface/SelfDrivable.java deleted file mode 100644 index 9237272..0000000 --- a/Programmierung2/src/oop/Interface/SelfDrivable.java +++ /dev/null @@ -1,30 +0,0 @@ -package oop.Interface; - -public interface SelfDrivable { - String AUTO_NAME = "BMW"; // ist default public static final - - - void destination (String d); - void drive(); - - default void newMethod() { - - System.out.print("SelfDrivable"); - } - - - static void klasseMethode() { - - System.out.print("Statiche Methode"); - } - - private void hilfsMethode() { - System.out.println("Hilfsmethode, die von anderen Methoden im Interface genutzt wird"); - } - - default void standardMethode1() { - System.out.println("Standardmethode 1"); - hilfsMethode(); // Aufruf der privaten Methode innerhalb des Interfaces - } - -} diff --git a/Programmierung2/src/oop/Interface/Test.java b/Programmierung2/src/oop/Interface/Test.java deleted file mode 100644 index 93726d3..0000000 --- a/Programmierung2/src/oop/Interface/Test.java +++ /dev/null @@ -1,11 +0,0 @@ -package oop.Interface; - - -public class Test { - - public static void main(String[] args) { - Movable a1 = new Auto(); - - } - -} diff --git a/Programmierung2/src/oop/Konstroktur/Konstroktur.java b/Programmierung2/src/oop/Konstroktur/Konstroktur.java deleted file mode 100644 index 11268ea..0000000 --- a/Programmierung2/src/oop/Konstroktur/Konstroktur.java +++ /dev/null @@ -1,124 +0,0 @@ -package oop.Konstroktur; - -public class Konstroktur { - - private String name; - private String beschreibung; - private double price; - private int quantity; - private double discount; - private String color; - - - //Konstruktor: - /* - * Muss heißen wie die Klasse - * Muss public sein - * muss kein Return Wert haben - * kann nicht abstrakt, static, final oder private sein - * jedes Objekt kann nur eine einzige Konstruktor aufrufen - * this.attribute = parameter - * Default Konstroktur wird nur aufgerufen, wenn überhaupt kein Construktor haben - */ - - //Arten von Konstruktor: - - - //1. Default Konstroktur, wird automatisch aufgerufen, wenn wir kein Konstruktor erstellen - - //public Konstroktur() {} - - - - // 2. no-argument constructor für default werte - public Konstroktur() { - this.name = "Kein Name"; - this.beschreibung = "Kein Beschreibung"; - this.price = 0.0; - this.quantity = 0; - this.discount = 0.0; - - } - - //3.1 argument constructor für dynamische werte - public Konstroktur(String name, String beschreibung, double price, int quantity, double discount) { - this.name = name; - this.beschreibung = beschreibung; - this.price = price; - this.quantity = quantity; - this.discount = discount; - } - - //3.2 Aufruf eines andere Konstruktor ( Chaining) - public Konstroktur(String name, String beschreibung, double price, int quantity, double discount,String color) { - - this (name,beschreibung,price,quantity,discount); // Aufruf der Konstruktor - this.color = color; - } - - // 4.1 Mit unterschiedlichen datentypen aber gleiche Parametern - public Konstroktur(String n) { - this.name = "Kein Name"; - this.beschreibung = "Kein Beschreibung"; - this.price = 0.0; - this.quantity = 0; - this.discount = 0.0; - - } - - - // 4.2 Mit unterschiedlichen datentypen aber gleiche Parametern - public Konstroktur(int n) { - this.name = "Kein Name"; - this.beschreibung = "Kein Beschreibung"; - this.price = 0.0; - this.quantity = 0; - this.discount = 0.0; - - } - - // 5.1 andere Rheinfolge - public Konstroktur(String n, int z) { - this.name = "Kein Name"; - this.beschreibung = "Kein Beschreibung"; - this.price = 0.0; - this.quantity = 0; - this.discount = 0.0; - - } - - - // 5.2 andere Rheinfolge - public Konstroktur(int z , String n) { - this.name = "Kein Name"; - this.beschreibung = "Kein Beschreibung"; - this.price = 0.0; - this.quantity = 0; - this.discount = 0.0; - } - - - // 6. Copy Constructor (dient dazu, Werte eines Objektes in anderem Objekt zu speicher) - public Konstroktur(Konstroktur k1) { - this.name = k1.name; - this.beschreibung = k1.beschreibung; - this.price = k1.price; - this.quantity = k1.quantity; - this.discount = k1.discount; - - } - - - - - public void display() { - - System.out.println("Name = " + name); - System.out.println("Beschreibung = " + beschreibung); - System.out.println("price = " + price); - System.out.println(" quantity = " + quantity); - System.out.println("discount = " + discount); - } - - -} diff --git a/Programmierung2/src/oop/Polymorphism/DailyMitarbeiter.java b/Programmierung2/src/oop/Polymorphism/DailyMitarbeiter.java deleted file mode 100644 index aa24486..0000000 --- a/Programmierung2/src/oop/Polymorphism/DailyMitarbeiter.java +++ /dev/null @@ -1,35 +0,0 @@ -package oop.Polymorphism; - -public class DailyMitarbeiter extends Mitarbeiter { - private double Werktagspreis; - private int tagesrate; - - public double getWerktagspreis() { - return Werktagspreis; - } - - public void setWerktagspreis(double werktagspreis) { - Werktagspreis = werktagspreis; - } - - public int getTagesrate() { - return tagesrate; - } - - public void setTagesrate(int tagesrate) { - this.tagesrate = tagesrate; - } - - public DailyMitarbeiter() {} - - - public DailyMitarbeiter(String name, String adresse, String abteilung, String email, double gehalt, double Werktagspreis,int tagesrate) { - super(name, adresse, abteilung, email, gehalt); - this.Werktagspreis = Werktagspreis; - this.tagesrate = tagesrate; - } - - - - -} diff --git a/Programmierung2/src/oop/Polymorphism/GehaltMitarbeiter.java b/Programmierung2/src/oop/Polymorphism/GehaltMitarbeiter.java deleted file mode 100644 index 0b7b232..0000000 --- a/Programmierung2/src/oop/Polymorphism/GehaltMitarbeiter.java +++ /dev/null @@ -1,31 +0,0 @@ -package oop.Polymorphism; - -public class GehaltMitarbeiter extends Mitarbeiter { - - double bouns; - - public GehaltMitarbeiter() {} - - public double getBouns() { - return bouns; - } - - public void setBouns(double bouns) { - this.bouns = bouns; - } - - public GehaltMitarbeiter(String name, String adresse, String abteilung, String email, double gehalt,double bouns) { - super(name, adresse, abteilung, email, gehalt); - this.bouns = bouns; - - } - - @Override - public double getGehalt() { - return super.getGehalt() + this.bouns; - } - // entweder super.getGehalt() - // oder gehalt von private zu protected umwandlen - - -} diff --git a/Programmierung2/src/oop/Polymorphism/HourlyMitarbeiter.java b/Programmierung2/src/oop/Polymorphism/HourlyMitarbeiter.java deleted file mode 100644 index f05fc89..0000000 --- a/Programmierung2/src/oop/Polymorphism/HourlyMitarbeiter.java +++ /dev/null @@ -1,43 +0,0 @@ -package oop.Polymorphism; - -public class HourlyMitarbeiter extends Mitarbeiter { - - private double arbeitsstundenpreis; - private int stundensatz; - - public double getArbeitsstundenpreis() { - return arbeitsstundenpreis; - } - - public void setArbeitsstundenpreis(double arbeitsstundenpreis) { - this.arbeitsstundenpreis = arbeitsstundenpreis; - } - - public int getStundensatz() { - return stundensatz; - } - - public void setStundensatz(int stundensatz) { - this.stundensatz = stundensatz; - } - - - @Override - public double getGehalt() { - - return arbeitsstundenpreis * stundensatz; - } - - public HourlyMitarbeiter() {} - - - - public HourlyMitarbeiter(String name, String adresse, String abteilung, String email, double gehalt,double arbeitsstundenpreis,int stundensatz ) { - super(name, adresse, abteilung, email, gehalt); - this.arbeitsstundenpreis = arbeitsstundenpreis; - this.stundensatz = stundensatz; - } - - - -} diff --git a/Programmierung2/src/oop/Polymorphism/Mitarbeiter.java b/Programmierung2/src/oop/Polymorphism/Mitarbeiter.java deleted file mode 100644 index b6c0052..0000000 --- a/Programmierung2/src/oop/Polymorphism/Mitarbeiter.java +++ /dev/null @@ -1,60 +0,0 @@ -package oop.Polymorphism; - -public class Mitarbeiter { - - private String name; - private String adresse; - private String abteilung; - private String email; - private double gehalt; - - - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getAdresse() { - return adresse; - } - public void setAdresse(String adresse) { - this.adresse = adresse; - } - - public String getAbteilung() { - return abteilung; - } - - public void setAbteilung(String abteilung) { - this.abteilung = abteilung; - } - - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - - public double getGehalt() { - return gehalt; - } - public void setGehalt(double gehalt) { - this.gehalt = gehalt; - } - - public Mitarbeiter(String name, String adresse, String abteilung, String email, double gehalt) { - this.name = name; - this.adresse = adresse; - this.abteilung = abteilung; - this.email = email; - this.gehalt = gehalt; - } - - public Mitarbeiter() {} - -} diff --git a/Programmierung2/src/oop/Polymorphism/Polymorphism.java b/Programmierung2/src/oop/Polymorphism/Polymorphism.java deleted file mode 100644 index 0cb614d..0000000 --- a/Programmierung2/src/oop/Polymorphism/Polymorphism.java +++ /dev/null @@ -1,30 +0,0 @@ -package oop.Polymorphism; - -public class Polymorphism { - - - /*Was ist das? - * - * Method Overloading: Schlüsselwort (ohne) - * - * Compile-time Polymorphism (Early binding or static binding) (frühe Bindung). - * - * • Statische Methoden können überladen werden - * • den selben Namen - * • Parameterlist unterscheiden sich in der Anzahl oder dem type der Parameter - * • innerhalb der selben oder abgeleiteten Klasse - * - * Method Overriding: Schlüsselwort (@Override) - * - * runtime-time Polymorphism (Late binding or Dynamic Polymorphism) (späte Bindung) - * - * • Statische Methoden können nicht überschreiben werden - * • geht nur in Kindklasse also nur in Verebung mit (@Override) - * • den selben Namen - * • den selben Rückgabetyp - * • die selbe Parameterliste - * • aber anderes Verhalten - */ - - -} diff --git a/Programmierung2/src/oop/Polymorphism/Test.java b/Programmierung2/src/oop/Polymorphism/Test.java deleted file mode 100644 index ff11872..0000000 --- a/Programmierung2/src/oop/Polymorphism/Test.java +++ /dev/null @@ -1,53 +0,0 @@ -package oop.Polymorphism; - -public class Test { - - public static void main(String[] args) { - - Mitarbeiter[] refarray = new Mitarbeiter[4]; // das geht auch - refarray[0] = new Mitarbeiter(); - refarray[1] = new GehaltMitarbeiter(); - refarray[2] = new DailyMitarbeiter(); - refarray[3] = new HourlyMitarbeiter(); - - for (int i = 0; i A ) Class B erbt von Class A - * 2. Miultilever Verebung:(C-> B -> A ) Class C erbt von Class B und Class B erbt von Class A - * 3. Hierarchical Verebung: ( B -> A und C -> A) Class B erbt von A und C von A - * - * Wichtig: Muliverebung ist in Java nicht unterstützt - * Lösungsmöglichkeit (Interface) also mit Interface kann - * ( B -> A und B -> C) - */ - - -/* - * verebung mit schlüsselwort extends - * Kindklasse ruft ihre constructor und ihre VaterKonstroktor - * constructor kann nicht verebt werden aber wir von kindklasse aufgerufen - * also kindklasse gibt Parentconstructor und ihre constructor aus - * - */ -public class Verebung { - - protected String name; - protected String emailAdresse; - protected String phone; - protected String wohnung; - protected String adresse; - protected int gerbutstag; - - - public Verebung() { - - System.out.println("Partentklasse"); - } - - - - public Verebung(String name,String emailAdresse,String phone, String wohnung, String adresse,int gerbutstag) { - this.name = name; - this.emailAdresse = emailAdresse; - this.phone = phone; - this.wohnung = wohnung; - this.adresse = adresse; - this.gerbutstag = gerbutstag; - - } - - - public String getName() { - return name; - } - - - public void setName(String name) { - this.name = name; - } - - - public String getEmailAdresse() { - return emailAdresse; - } - - - public void setEmailAdresse(String emailAdresse) { - this.emailAdresse = emailAdresse; - } - - - public String getPhone() { - return phone; - } - - - public void setPhone(String phone) { - this.phone = phone; - } - - - public String getWohnung() { - return wohnung; - } - - - public void setWohnung(String wohnung) { - this.wohnung = wohnung; - } - - - public String getAdresse() { - return adresse; - } - - - public void setAdresse(String adresse) { - this.adresse = adresse; - } - - - public int getGerbutstag() { - return gerbutstag; - } - - - public void setGerbutstag(int gerbutstag) { - this.gerbutstag = gerbutstag; - } - - -} diff --git a/Programmierung2/src/oop/Verebung/Verebung2.java b/Programmierung2/src/oop/Verebung/Verebung2.java deleted file mode 100644 index 36e97bb..0000000 --- a/Programmierung2/src/oop/Verebung/Verebung2.java +++ /dev/null @@ -1,38 +0,0 @@ -package oop.Verebung; - -public class Verebung2 extends Verebung { - - String projktName; - - public Verebung2(String name,String emailAdresse,String phone, String wohnung, String adresse,int gerbutstag,String projktName) { - /* - * wichtig: Super soll erste geschrieben werden - * Super benutzen wir nur für Parentklass in seinem Kindklass - * - * Also ist falsch: - * this.projktName = projktName; - * super(name,emailAdresse,phone, wohnung,adresse,gerbutstag); - * - * Das geht auch: - * super.attribute - * super.methode - */ - - - //super(); // default constructor aufrufen - super(name,emailAdresse,phone, wohnung,adresse,gerbutstag);// constructor mit Argumenten aufrufen - this.projktName = projktName; - } - - public String getprojktName() { - - - return projktName; - } - - public void setprojktName(String projktName) { - - this.projktName = projktName; - } - -} diff --git a/Programmierung2/src/oop/Verebung/Verebung3.java b/Programmierung2/src/oop/Verebung/Verebung3.java deleted file mode 100644 index e34d0ab..0000000 --- a/Programmierung2/src/oop/Verebung/Verebung3.java +++ /dev/null @@ -1,10 +0,0 @@ -package oop.Verebung; - -public class Verebung3 extends Verebung2 { - - public Verebung3(String name,String emailAdresse,String phone, String wohnung, String adresse,int gerbutstag,String projktName) { - super(name,emailAdresse,phone, wohnung,adresse,gerbutstag,projktName);// constructor mit Argumenten aufrufen - System.out.println("Kindklasse 2"); - } - -} diff --git a/Programmierung2/src/Übungen/Abrechnung.java b/Programmierung2/src/Übungen/Abrechnung.java deleted file mode 100644 index 938d788..0000000 --- a/Programmierung2/src/Übungen/Abrechnung.java +++ /dev/null @@ -1,27 +0,0 @@ -package Übungen; -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/BankSystem.java b/Programmierung2/src/Übungen/BankSystem.java deleted file mode 100644 index bc5887f..0000000 --- a/Programmierung2/src/Übungen/BankSystem.java +++ /dev/null @@ -1,186 +0,0 @@ -package Übungen; -import java.util.ArrayList; -import java.util.Scanner; -public class BankSystem { - - protected String name; - protected String vorname; - protected String password; - protected String email; - protected double kontosstand; - protected int alter; - protected Scanner scanner; - protected ArrayList speicher; - protected static int nextKundenNummer; // Statische Variable für die nächste Kunden-ID - - public BankSystem() {}; - - public BankSystem(String name, String vorname, String password , String email,int alter) { - this.name = name; - this.vorname = vorname; - this.password = password; - this.email = email; - this.kontosstand = 0; // 0€ - this.setAlter(alter); - this.scanner = new Scanner(System.in); - this.speicher = new ArrayList<>(); - nextKundenNummer++; - } - - public void ueberweisung(BankSystem empfaenger) { - - System.out.println("KontoStand: " + this.kontosstand + " €" + "\n" + this.getVorname() + " " + this.getName()); - - System.out.println("Geben Sie den Betrag ein: "); - double betrag = scanner.nextDouble(); - scanner.nextLine(); - System.out.println("Geben Sie den Password ein: "); - String password = scanner.nextLine(); - - if (checkKontoStand(betrag) && checkPassword(password)) { - this.kontosstand -= betrag; - speicher.add(- (betrag)); - - empfaenger.kontosstand +=betrag; - empfaenger.speicher.add(betrag); - System.out.println("Das wurde erfolgreich überwiesen"); - } - - else - System.out.println("Du hast kein genug Geld auf deinem Konto!"); - } - - public void kontoauszug(){ - - int zähler = 3; - System.out.print("Bitte geben Sie erst den Password ein: "); - String password = scanner.nextLine(); - while(!checkPassword(password) && zähler > 1) { - zähler--;//2 - System.out.println("Du hast " + zähler + " Versuche."); - System.out.print("Bitte geben Sie erst den Password ein: "); - password = scanner.nextLine(); - - } - if (zähler == 1) - System.err.println("Dein Konto wurde gespert!"); - - else { - double auszahlung = 0; - double einzahlung = 0; - for (double i : speicher) { - if (i < 0) { - System.out.println("Ihre Auszahlung: "+ i); - auszahlung += i; - } - else { - System.out.println("Ihre Einzahlung: "+ i); - einzahlung += i; - } - } - System.out.println("Die Summe alle Auszahlungen = "+ auszahlung); - System.out.println("Die Summe alle Einzahlungen = "+ einzahlung); - System.out.println("Dein aktuelles Kontostand = "+ this.getKontosstand()); - } - - } - - private boolean checkPassword (String password) { - return this.password.equals(password); - } - - protected boolean checkKontoStand(double geld) { - return geld <= this.kontosstand; - } - - - public void auszahlen(){ - - System.out.println("Bitte geben Sie den Betrag ein: "); - - double auszahlen = scanner.nextDouble(); - scanner.nextLine(); - System.out.print("Bitte geben Sie den Password ein: "); - String password = scanner.nextLine(); - if (checkPassword(password)) { - if (checkKontoStand(auszahlen)) { - this.kontosstand -= auszahlen; - speicher.add(-(auszahlen)); - System.out.println("Auszahlung erfolgreich! Neuer Kontostand: " + this.kontosstand); - - } - - else - System.out.println("Geld reicht nicht aus!"); - } - - else - System.out.println("falsches Password!"); - } - - - - public void addGeld(double geld) { - - this.kontosstand += geld; - speicher.add(geld); - System.out.println("Einzahlung erfolgreich! Neuer Kontostand: " + this.kontosstand); - - } - - - - - - @Override - public String toString() { - return "BankSystem [name=" + name + ", vorname=" + vorname + ", password=" + password + ", email=" + email - + ", kontosstand=" + kontosstand + ", alter=" + alter + "]"; - } - - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public String getVorname() { - return vorname; - } - public void setVorname(String vorname) { - this.vorname = vorname; - } - public String getPassword() { - return password; - } - public void setPassword(String password) { - this.password = password; - } - public String getEmail() { - return email; - } - public void setEmail(String email) { - this.email = email; - } - public double getKontosstand() { - return kontosstand; - } - public void setKontosstand(double kontosstand) { - this.kontosstand = kontosstand; - } - - public int getAlter() { - return alter; - } - - public void setAlter(int alter) { - if (alter <= 20) - System.out.println("Nein,du musst Kundenart kriegen!"); - else - this.alter = alter; - } - - - - -} diff --git a/Programmierung2/src/Übungen/BlackJack/BlackJack.java b/Programmierung2/src/Übungen/BlackJack/BlackJack.java deleted file mode 100644 index 9f6ffbb..0000000 --- a/Programmierung2/src/Übungen/BlackJack/BlackJack.java +++ /dev/null @@ -1,273 +0,0 @@ -package Übungen.BlackJack; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Random; -import java.util.Scanner; - -// Modell -public class BlackJack { - private String spielerName; - private int guthaben; - private int punkte; - private int speichereEinsatz; - private boolean hitspiele; - - public BlackJack(String spielerName, int guthaben) { - this.spielerName = spielerName; - this.guthaben = guthaben; - this.punkte = 0; - this.speichereEinsatz = 0; - this.hitspiele = false; - } - - public int getSpeichereEinsatz() { - return speichereEinsatz; - } - - public void setSpeichereEinsatz(int speichereEinsatz) { - this.speichereEinsatz = speichereEinsatz; - } - - public String getSpielerName() { - return spielerName; - } - - public void setSpielerName(String spielerName) { - this.spielerName = spielerName; - } - - public int getGuthaben() { - return guthaben; - } - - public void addGuthaben(int betrag) { - this.guthaben += betrag; - } - - public void subtrahiereGuthaben(int betrag) { - this.guthaben -= betrag; - } - - public int getPunkte() { - return punkte; - } - - public void addPunkte(int punkte) { - this.punkte += punkte; - } - - public boolean isHitspiele() { - return hitspiele; - } - - public void setHitspiele(boolean hitspiele) { - this.hitspiele = hitspiele; - } - - @Override - public String toString() { - return "Spieler [Name=" + spielerName + ", Guthaben=" + guthaben + "€]"; - } -} - -// Die GUI klasse oder View -class BlackJackView { - private Scanner scanner; - - public BlackJackView() { - scanner = new Scanner(System.in); - } - - public void zeigeSpielerDetails(BlackJack spieler) { - System.out.println(spieler.getSpielerName() + " hat " + spieler.getGuthaben() + "€ und " + spieler.getPunkte() - + " Punkte."); - } - - public void zeigeNachricht(String nachricht) { - System.out.println(nachricht); - } - - public int frageEinsatz() { - System.out.println("Wähle einen Einsatz von: [5€, 10€, 25€, 100€]"); - return scanner.nextInt(); - } - - public String frageObGuthabenAufladen() { - System.out.println("Du hast nicht genug Guthaben. Möchtest du Guthaben aufladen? Ja/Nein"); - return scanner.next(); - } - - public int frageGuthabenBetrag() { - System.out.println("Wie viel möchtest du aufladen?"); - return scanner.nextInt(); - } - - public String frageObHitOderStand() { - System.out.println("Du hast nicht genug Guthaben. Möchtest du Guthaben aufladen? Ja/Nein"); - return scanner.next(); - } - - public void schließeScanner() { - scanner.close(); - } -} - -// Controller verwaltung das Spielabluaf -class Spiel { - - private BlackJack spieler1; - private BlackJack spieler2; - private ArrayList kartendeck; - private Random random; - private ArrayList erlaubteEinsätze; - private BlackJackView view; - - public Spiel(BlackJack spieler1, BlackJack spieler2, BlackJackView view) { - this.spieler1 = spieler1; - this.spieler2 = spieler2; - this.view = view; - this.random = new Random(); - this.erlaubteEinsätze = new ArrayList<>(); - kartendeck = new ArrayList<>(); - initialisiereKartendeck(); - } - - public void initialisiereKartendeck() { - for (int i = 1; i <= 11; i++) { - kartendeck.add(i); - } - Collections.shuffle(kartendeck); - } - - public ArrayList getKartendeck() { - return kartendeck; - } - - public boolean guthabenAufladen(BlackJack spieler) { - String antwort = view.frageObGuthabenAufladen(); - if (antwort.equalsIgnoreCase("ja")) { - int betrag = view.frageGuthabenBetrag(); - if (betrag > 0) { - spieler.addGuthaben(betrag); - view.zeigeNachricht("Dein neues Guthaben: " + spieler.getGuthaben() + "€"); - return true; - } - } - return false; - } - - public boolean einsatzBestimmen(BlackJack spieler) { - erlaubteEinsätze.add(5); - erlaubteEinsätze.add(10); - erlaubteEinsätze.add(25); - erlaubteEinsätze.add(100); - - boolean einsatzAkzeptiert = false; - view.zeigeNachricht( - "Hallo " + spieler.getSpielerName() + ", dein aktuelles Guthaben: " + spieler.getGuthaben() + "€"); - while (!einsatzAkzeptiert) { - if (spieler.getGuthaben() < 5) { - if (guthabenAufladen(spieler)) { - continue; - } else { - return false; - } - } - - int einsatz = view.frageEinsatz(); - if (!erlaubteEinsätze.contains(einsatz)) { - view.zeigeNachricht("Falsche Eingabe. Bitte versuche es erneut."); - continue; - } - - if (einsatz > spieler.getGuthaben()) { - if (guthabenAufladen(spieler)) { - continue; - } else { - return false; - } - } - - if (erlaubteEinsätze.contains(einsatz)) { - spieler.setSpeichereEinsatz(einsatz); - spieler.subtrahiereGuthaben(einsatz); - view.zeigeNachricht("Neues Guthaben: " + spieler.getGuthaben() + "€"); - einsatzAkzeptiert = true; - } - } - return einsatzAkzeptiert; - } - - public void zweiKartenZiehen() { - int punkte1 = zieheZweiKarten(spieler1); - view.zeigeNachricht(spieler1.getSpielerName() + " hat " + punkte1 + " Punkte."); - - int punkte2 = zieheZweiKarten(spieler2); - view.zeigeNachricht(spieler2.getSpielerName() + " hat " + punkte2 + " Punkte."); - } - - private int zieheZweiKarten(BlackJack spieler) { - int ersteKarte = kartendeck.get(random.nextInt(kartendeck.size())); - int zweiteKarte = kartendeck.get(random.nextInt(kartendeck.size())); - int summe = ersteKarte + zweiteKarte; - spieler.addPunkte(summe); - return summe; - } - - public void gewinnerPrüfen(BlackJack spieler1, BlackJack spieler2) { - if (spieler1.getPunkte() < 22 && (spieler1.getPunkte() > spieler2.getPunkte() || spieler2.getPunkte() > 21)) { - int gewinn = spieler1.getSpeichereEinsatz() * 2; - spieler1.addGuthaben(gewinn); - view.zeigeNachricht( - spieler1.getSpielerName() + " hat gewonnen! Neues Guthaben: " + spieler1.getGuthaben() + "€"); - } else if (spieler2.getPunkte() < 22 - && (spieler2.getPunkte() > spieler1.getPunkte() || spieler1.getPunkte() > 21)) { - int gewinn = spieler2.getSpeichereEinsatz() * 2; - spieler2.addGuthaben(gewinn); - view.zeigeNachricht( - spieler2.getSpielerName() + " hat gewonnen! Neues Guthaben: " + spieler2.getGuthaben() + "€"); - } else { - view.zeigeNachricht("Unentschieden!"); - } - } - - public void bestimmeSpieabluaf(BlackJack spieler) { - view.zeigeNachricht("------------------------------------------"); - view.zeigeNachricht("Willkommen im Blackjack-Spiel:"); - zweiKartenZiehen(); - spieler.setHitspiele(true); - while (spieler.isHitspiele()) { - if (spieler.getPunkte() >= 21) - spieler.setHitspiele(false); - - if (spieler.isHitspiele()) { - view.zeigeNachricht(spieler.getSpielerName() + " : Möchten Sie hit oder stand? Aktuelle Hand: " - + spieler.getPunkte()); - String auswahl = view.frageObHitOderStand(); - - if (auswahl.equalsIgnoreCase("hit")) { - eineKarteZiehen(spieler); - spielerPunkteAnzeigen(spieler); - } else if (auswahl.equalsIgnoreCase("stand")) { - spieler.setHitspiele(false); - spielerPunkteAnzeigen(spieler); - } else { - view.zeigeNachricht("Falsche Eingabe: Bitte geben Sie entweder 'hit' oder 'stand' ein."); - continue; - } - } - } - } - - public void eineKarteZiehen(BlackJack spieler) { - int karte = kartendeck.get(random.nextInt(kartendeck.size())); - spieler.addPunkte(karte); - view.zeigeNachricht(spieler.getSpielerName() + " hat " + spieler.getPunkte() + " Punkte."); - } - - public void spielerPunkteAnzeigen(BlackJack spieler) { - view.zeigeNachricht(spieler.getSpielerName() + " hat " + spieler.getPunkte() + " Punkte."); - } - -} diff --git a/Programmierung2/src/Übungen/BlackJack/JunitTest.java b/Programmierung2/src/Übungen/BlackJack/JunitTest.java deleted file mode 100644 index 2ed1442..0000000 --- a/Programmierung2/src/Übungen/BlackJack/JunitTest.java +++ /dev/null @@ -1,40 +0,0 @@ -package Übungen.BlackJack; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.jupiter.api.Assertions.*; - -import java.util.ArrayList; -import java.util.Collections; - -import org.junit.jupiter.api.Test; - -class JunitTest { - // (expected,actual (welche wert gibt der Methode zurück?),message fehle) - - @Test - void modellKlasse() { - // assertEquals(überprüft Parameter miteinander) - BlackJack t1 = new BlackJack("obai",20); - BlackJack t2 = new BlackJack("omar",21); - BlackJackView v1 = new BlackJackView(); - Spiel spie1 = new Spiel(t1,t2,v1); -// assertEquals("obai", t1.getSpielerName(), "Der Name sollte 'obai' sein."); -// assertEquals(21,t1.getGuthaben(),"Guthaben habe stimmen nicht"); -// assertNotNull(t1,"es ist nicht null"); - - // teste arrayList zahlen -// ArrayList kartendeck = new ArrayList<>(); -// for (int i = 1; i <= 11; i++) { -// kartendeck.add(i); -// } -// assertEquals(kartendeck,spie1.getKartendeck()); - - //aktziptieren nur einen Bedinung die entweder wahr oder true ist -// assertFalse(spie1.einsatzBestimmen(t1)); -// assertFalse(spie1.einsatzBestimmen(t1)); - - spie1.zweiKartenZiehen(); - } - -} diff --git a/Programmierung2/src/Übungen/BlackJack/Test.java b/Programmierung2/src/Übungen/BlackJack/Test.java deleted file mode 100644 index fd8a40a..0000000 --- a/Programmierung2/src/Übungen/BlackJack/Test.java +++ /dev/null @@ -1,35 +0,0 @@ -package Übungen.BlackJack; -import java.util.ArrayList; -import java.util.Scanner; - -public class Test { - - public static void main(String[] args) { - Scanner scan = new Scanner(System.in); - - BlackJack spieler1 = new BlackJack("Obai", 500); - BlackJack spieler2 = new BlackJack("abd", 100); - BlackJackView spiel1 = new BlackJackView(); - - System.out.println(spieler1); - System.out.println(spieler2); - System.out.println(); - - - Spiel newSpiel = new Spiel(spieler1, spieler2,spiel1); - boolean bestimmespieler; - - bestimmespieler = newSpiel.einsatzBestimmen(spieler1); - if (bestimmespieler) - bestimmespieler = newSpiel.einsatzBestimmen(spieler2); - - - if (bestimmespieler) { - newSpiel.zweiKartenZiehen(); - newSpiel.bestimmeSpieabluaf(spieler1); - } - - spiel1.schließeScanner(); - } - -} diff --git a/Programmierung2/src/Übungen/GehaltsAbrechnung.java b/Programmierung2/src/Übungen/GehaltsAbrechnung.java deleted file mode 100644 index bad1adf..0000000 --- a/Programmierung2/src/Übungen/GehaltsAbrechnung.java +++ /dev/null @@ -1,16 +0,0 @@ -package Übungen; -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/Kunden.java b/Programmierung2/src/Übungen/Kunden.java deleted file mode 100644 index e4794eb..0000000 --- a/Programmierung2/src/Übungen/Kunden.java +++ /dev/null @@ -1,26 +0,0 @@ -package Übungen; -public class Kunden { - - public static void main(String[] args) { - BankSystem kunde1 = new BankSystem("Albek","Obai","12345","obay@gmail.com",25); - - kunde1.addGeld(50000); - System.out.println(kunde1.toString()); - - System.out.println(); - System.out.println(); - - BankSystem s1 = new SchuelerKonto("Albek","Obai","12345","obay@gmail.com",12,"Justus",9); - s1.addGeld(120); - - System.out.println(s1.toString()); - - - - -// KundenBank k1 = new KundenBank(); -// k1.setSpeicherKunde(kunde1);; -// System.out.println(k1.getSpeicherKunde()); - } - -} diff --git a/Programmierung2/src/Übungen/KundenBank.java b/Programmierung2/src/Übungen/KundenBank.java deleted file mode 100644 index 7cb783f..0000000 --- a/Programmierung2/src/Übungen/KundenBank.java +++ /dev/null @@ -1,24 +0,0 @@ -package Übungen; - -import java.util.ArrayList; - -public class KundenBank { - - private ArrayList speicherKunde = new ArrayList<>(); - - public ArrayList getSpeicherKunde() { - return speicherKunde; - } - - public void setSpeicherKunde(BankSystem speicherKunde) { - this.speicherKunde.add(speicherKunde); - } - - @Override - public String toString() { - return "KundenBank [BankKunden=" + speicherKunde + "]"; - } - - - -} diff --git a/Programmierung2/src/Übungen/Lohnabrechnung.java b/Programmierung2/src/Übungen/Lohnabrechnung.java deleted file mode 100644 index c311e68..0000000 --- a/Programmierung2/src/Übungen/Lohnabrechnung.java +++ /dev/null @@ -1,18 +0,0 @@ -package Übungen; -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 deleted file mode 100644 index 59dc30d..0000000 --- a/Programmierung2/src/Übungen/Mitarbeiter.java +++ /dev/null @@ -1,27 +0,0 @@ -package Übungen; -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/PersonalVerwaltung.java b/Programmierung2/src/Übungen/PersonalVerwaltung.java deleted file mode 100644 index 3a6daf0..0000000 --- a/Programmierung2/src/Übungen/PersonalVerwaltung.java +++ /dev/null @@ -1,45 +0,0 @@ -package Übungen; -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 deleted file mode 100644 index a749f75..0000000 --- a/Programmierung2/src/Übungen/Radio.java +++ /dev/null @@ -1,60 +0,0 @@ -package Übungen; -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/SchuelerKonto.java b/Programmierung2/src/Übungen/SchuelerKonto.java deleted file mode 100644 index ea43a88..0000000 --- a/Programmierung2/src/Übungen/SchuelerKonto.java +++ /dev/null @@ -1,60 +0,0 @@ -package Übungen; - -public class SchuelerKonto extends BankSystem { - - private String schulename; - private int klasse; - - public SchuelerKonto(String name, String vorname, String password, String email, int alter, String schulename, int klasse) { - super(name, vorname, password, email, alter); - this.schulename = schulename; - this.klasse = klasse; - } - - @Override - public void addGeld(double geld) { - if (this.kontosstand < 500) { - this.kontosstand += geld; - speicher.add(geld); - System.out.println("Einzahlung erfolgreich! Neuer Kontostand: " + this.kontosstand); - } else { - System.out.println("Du kannst keine neuen Einzahlungen vornehmen."); - } - } - - @Override - public void ueberweisung(BankSystem empfaenger) { - throw new UnsupportedOperationException("Überweisungen sind für Schülerkonten nicht erlaubt."); - } - - @Override - public void setAlter(int alter) { - if (alter > 20) - System.out.println("Nein, du kannst nicht die Kundenart Schueler haben!"); - else - this.alter = alter; - } - - @Override - public String toString() { - return "SchuelerKonto [Schulename=" + schulename + ", Klasse=" + klasse + ", name=" + name + ", vorname=" - + vorname + ", password=" + password + ", email=" + email + ", kontosstand=" + kontosstand + ", alter=" - + alter + "]"; - } - - public String getSchulename() { - return schulename; - } - - public void setSchulename(String schulename) { - this.schulename = schulename; - } - - public int getKlasse() { - return klasse; - } - - public void setKlasse(int klasse) { - this.klasse = klasse; - } -} diff --git a/Programmierung2/src/Übungen/StudentenKunden.java b/Programmierung2/src/Übungen/StudentenKunden.java deleted file mode 100644 index 8afc1ab..0000000 --- a/Programmierung2/src/Übungen/StudentenKunden.java +++ /dev/null @@ -1,7 +0,0 @@ -package Übungen; - -public class StudentenKunden extends BankSystem { - - - -} diff --git a/Programmierung2/src/Übungen/TestMitarbeiter.java b/Programmierung2/src/Übungen/TestMitarbeiter.java deleted file mode 100644 index 48bb6a6..0000000 --- a/Programmierung2/src/Übungen/TestMitarbeiter.java +++ /dev/null @@ -1,20 +0,0 @@ -package Übungen; -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 deleted file mode 100644 index ce10026..0000000 --- a/Programmierung2/src/Übungen/TestRadio.java +++ /dev/null @@ -1,13 +0,0 @@ -package Übungen; -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 deleted file mode 100644 index bb1f7ec..0000000 --- a/Programmierung2/src/Übungen/Tic_Tac_Toe.java +++ /dev/null @@ -1,111 +0,0 @@ -package Übungen; -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 deleted file mode 100644 index 17b8971..0000000 --- a/Programmierung2/src/Übungen/Whatsapp.java +++ /dev/null @@ -1,228 +0,0 @@ -package Übungen; -import java.util.ArrayList; - -public class Whatsapp { - private String name; - private String teleN; - private String nachricht; - private ArrayList speicherContact; - private ArrayList speicherNummern; - private ArrayList blockContact; - - public Whatsapp(String name, String teleN) { - this.name = name; - this.nachricht = null; - this.teleN = teleN; - this.speicherContact = new ArrayList<>(); - this.blockContact = new ArrayList<>(); - speicherContact.add(this.name); - this.speicherNummern = new ArrayList<>(); - speicherNummern.add(teleN); - } - - - public void addContact(String name, String teleN){ - if (name != null && teleN != null){ - speicherContact.add(name); - speicherNummern.add(teleN); - } - } - - public ArrayList 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) +", Telefonummer: " + speicherNummern.get(i)); - - } - - public void blocKontakt(Whatsapp block) { - if (!blockContact.contains(block.getName())) { - this.blockContact.add(block.getName()); - System.out.println(this.name + " hat " + block.getName() + " blockiert"); - } - - else - System.err.println("Ist bereit Blockiert"); - } - - public ArrayList getblockContact(){ - return blockContact; - } - - public String searchContact(String name){ - for (int i = 0; i saveMessages; - - public Nachrichten(Whatsapp sender, Whatsapp receiver) { - this.sender = sender; //obai - this.receiver = receiver; //omar - this.saveMessages = new ArrayList<>(); - } - - public void sendMessage(Whatsapp sender, Whatsapp receiver, String message) { - if (receiver.getblockContact().contains(sender.getName())) { - String blockMessage = "Du wurdest von " + receiver.getName() + " blockiert!"; - System.err.println(blockMessage); - return; - } - if (sender.getblockContact().contains(receiver.getName())) { - String blockMessage = "Du hast " + receiver.getName() + " blockiert!"; - System.err.println(blockMessage); - return; - } - - if (receiver != null) { - receiver.setNachricht(message); - String infoMessage = sender.getName() + " sendet " + receiver.getName() + " : " + receiver.getNachricht(); - saveMessages.add(infoMessage); - } - } - - - public ArrayList getinfoMessage() { - return saveMessages; - } - - public void printsaveMessages() { - System.out.println("Chat Room: "); - for(String s:saveMessages) - System.out.println(s); - } - -} - -class Groups{ - Whatsapp hersteller; - ArrayList admins; - ArrayList addmembers; - ArrayList allMessages; - String groupsname; - - - Groups(Whatsapp hersteller, String groupsname){ - this.hersteller = hersteller; - this.groupsname = groupsname; - this.addmembers = new ArrayList<>(); - this.admins = new ArrayList<>(); - this.allMessages = new ArrayList<>(); - addmembers.add(hersteller); - admins.add(hersteller); - System.out.println(this.hersteller.getName() + "(Admin): hat die Groupe " + this.groupsname + " erstellt"); - } - - public void sendeMessages(Whatsapp sender, String message) { - if (addmembers.contains(sender)) { - String speicher = sender.getName() + " : " + message ; - allMessages.add(speicher); - } - } - - public ArrayList getallMessages(){ - return allMessages; - } - - public void printallMessages() { - for (String s: allMessages) - System.out.println(s); - } - - public void removeMember(Whatsapp remover, Whatsapp toBeRemoved) { - if (!admins.contains(remover)) { - System.err.println("Du bist kein Admin"); - return; - } - if (!addmembers.contains(toBeRemoved)) { - System.err.println("Mitglied nicht in der Gruppe"); - return; - } - addmembers.remove(toBeRemoved); - System.out.println(toBeRemoved.getName() + " wurde aus der Gruppe entfernt."); - } - - - public void addMembers(Whatsapp member) { - if (!addmembers.contains(member)) - addmembers.add(member); - else - System.err.println("member ist bereits da!"); - } - - public void addAdmin(Whatsapp admin, Whatsapp toBeAdmin) { - if (!admins.contains(admin)) { - System.err.println("Du musst Admin sein"); - return; - } - if (admins.contains(toBeAdmin)) { - System.err.println(toBeAdmin.getName() + " ist bereits Admin."); - return; - } - admins.add(toBeAdmin); - System.out.println(admin.getName() + " hat " + toBeAdmin.getName() + " als Admin benannt."); - } - - - public ArrayList getaddmembers(){ - - return addmembers; - } - - public void printaddmembers(Whatsapp printer) { - if (!addmembers.contains(printer)) { - System.err.println("du bist kein Mitglied!"); - return; - } - - System.out.println("Alle Members:"); - int i = 1; - for (Whatsapp s : addmembers) { - String memberName = printer.getContact().contains(s.getName()) ? s.getName() : "Unbekannt"; - - if (admins.contains(s)) - System.out.println("Mitglied(Admin) " + i + " : " + memberName); - else - System.out.println("Mitglied " + i + " : " + memberName); - i++; - } - } - } - diff --git a/Programmierung2/src/Übungen/WhatsappTest.java b/Programmierung2/src/Übungen/WhatsappTest.java deleted file mode 100644 index 7a644df..0000000 --- a/Programmierung2/src/Übungen/WhatsappTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package Übungen; -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"); - Whatsapp abd = new Whatsapp("abd", "049321321"); - Whatsapp oula = new Whatsapp("oula", "049321321"); - - - Nachrichten messages = new Nachrichten(obai,omar); - messages.sendMessage(obai, omar, "Hallo omar"); - messages.sendMessage(omar, obai, "Hallo obai"); - messages.sendMessage(omar, obai, "was machst du?"); - messages.printsaveMessages(); - omar.blocKontakt(obai); - messages.sendMessage(omar, obai, "was machst du?"); - messages.printsaveMessages(); - -// Groups gr1 = new Groups(obai,"Almidani"); -// gr1.addMembers(omar); -// gr1.addMembers(abd); -// -// obai.addContact("abd","004848214"); -// obai.addContact("omar","004848214"); -// gr1.addAdmin(obai, omar); -// gr1.printaddmembers(obai); -// System.out.println(); -// System.out.println(); -// System.out.println(); -// gr1.printaddmembers(omar); -// gr1.sendeMessages(abd, "Hallo Omar"); -// gr1.sendeMessages(omar, "Hallo Abd"); -// -// -// gr1.printallMessages(); - } - -}