diff --git a/Programmieren/.classpath b/Programmieren/.classpath new file mode 100644 index 0000000..ac9ce57 --- /dev/null +++ b/Programmieren/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Programmieren/.project b/Programmieren/.project new file mode 100644 index 0000000..9720bac --- /dev/null +++ b/Programmieren/.project @@ -0,0 +1,17 @@ + + + Programmieren + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Programmieren/src/Lernen/Aktienkurs.java b/Programmieren/src/Lernen/Aktienkurs.java new file mode 100644 index 0000000..1d1684f --- /dev/null +++ b/Programmieren/src/Lernen/Aktienkurs.java @@ -0,0 +1,23 @@ +package Lernen; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Scanner; +public class Aktienkurs { + public static void main(String[] args) throws MalformedURLException, IOException { + + // Mit folgendem Code können Sie von Yahoo Finance eine CSV-Datei mit den Kursen bspw. der SAP-Aktie im Jahr 2023 herunterladen + // vgl.: https://de.finance.yahoo.com/quote/SAP.DE/history?period1=1672531200&period2=1697673600&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true + Scanner web = new Scanner(new URL("https://query1.finance.yahoo.com/v7/finance/download/SAP.DE?" + + "period1=1672531200&period2=1697673600&interval=1d&events=history").openStream()); + + while(web.hasNextLine()) { + System.out.println(web.nextLine()); + + // Your mission, should you chose to accept it: + // Please calculate the average (close) stock price as well as the minimum and maximum price for the data downloaded above. + // You might want to consider the indexOf, substring, or split operations of the String class (cf.: Javadocs) + } + web.close(); +} +} \ No newline at end of file diff --git a/Programmieren/src/Lernen/AlleRechner.java b/Programmieren/src/Lernen/AlleRechner.java new file mode 100644 index 0000000..e808a0f --- /dev/null +++ b/Programmieren/src/Lernen/AlleRechner.java @@ -0,0 +1,36 @@ +package Lernen; + +import java.util.Scanner; + +public class AlleRechner { + public static void main(String[] args) { + + Scanner scanner = new Scanner(System.in); + + System.out.print("Geben Sie die erste Zahl ein: "); + double a = scanner.nextDouble(); + System.out.print("Geben Sie die zweite Zahl ein: "); + double b = scanner.nextDouble(); + + + + System.out.println("Addition: "+a+" + "+b+" = "+ (a+b) ); + + System.out.println("Subtraktion: "+a+" - "+b +" = "+ (a-b) ); + + System.out.println("Multiplikation: "+a +" * "+b +"="+ (a*b) ); + + System.out.println("Division: "+a +" / "+b +" = "+ (a/b) ); + + System.out.println("Restwert: "+a +" % "+b +" = "+ (a%b) ); + + + + + + + + + scanner.close(); + } +} \ No newline at end of file diff --git a/Programmieren/src/Lernen/ArrayDurchschnitt.java b/Programmieren/src/Lernen/ArrayDurchschnitt.java new file mode 100644 index 0000000..a33a727 --- /dev/null +++ b/Programmieren/src/Lernen/ArrayDurchschnitt.java @@ -0,0 +1,13 @@ +public static double durchschnitt () { + int Zahlen[] = {10, 20, 30, 40}; + + int i = 0; + double summe = 0.0; + + while(i <= Zahlen.length) { + double summe = Zahlen[i]+ Zahlen[i+1]; + i++; + } + double durchschnitt = summe/Zahlen.length; + return durchschnitt; +} \ No newline at end of file diff --git a/Programmieren/src/Lernen/ArrayGrEinmalEin.java b/Programmieren/src/Lernen/ArrayGrEinmalEin.java new file mode 100644 index 0000000..eb1ae9a --- /dev/null +++ b/Programmieren/src/Lernen/ArrayGrEinmalEin.java @@ -0,0 +1,15 @@ +package Lernen; + +public class ArrayGrEinmalEin { +public static void main(String[] args) { + int multiplizieren[][]= new int [10][10]; + for(int i= 1; i<= 10; i++){ + for(int j= 1; j<= 10; j++){ + System.out.printf("%2d * %2d = %3d|", i, j, i*j); + multiplizieren[i-1][j-1] = i*j; + } + System.out.println(i); +} + +} +} diff --git a/Programmieren/src/Lernen/AufgabeZwe.java b/Programmieren/src/Lernen/AufgabeZwe.java new file mode 100644 index 0000000..d201b09 --- /dev/null +++ b/Programmieren/src/Lernen/AufgabeZwe.java @@ -0,0 +1,17 @@ +package Lernen; +import java.util.Scanner; +public class AufgabeZwe { + public static void main(String[] args) { + + Scanner scanner = new Scanner(System.in); + + System.out.print("Geben Sie den Radius des Kreises in cm ein: "); + double radius = scanner.nextDouble(); + + double umfang = 2 * Math.PI * radius; + + System.out.println("Der Umfang des Kreises beträgt: " + umfang + "cm"); + + scanner.close(); + } +} diff --git a/Programmieren/src/Lernen/BinSuche.java b/Programmieren/src/Lernen/BinSuche.java new file mode 100644 index 0000000..808e711 --- /dev/null +++ b/Programmieren/src/Lernen/BinSuche.java @@ -0,0 +1,38 @@ +package Lernen; + +public class BinSuche { + + public static void main(String[] args) { + int[] arr = {17, 4, 3, 8, 7, 2, 5, 9, 12, 25, 0, 6, 19, 16, 42, 21}; + + BubbleSort.bubblesort(arr); + int ergebnis = binaereSuche(arr, 42); + + if (ergebnis != -1) { + System.out.println("Element gefunden: " + ergebnis); + } else { + System.out.println("Element im array nicht gefunden."); + } + } + + public static int binaereSuche(int[] zahlen, int gesucht) { + int anfang = 0; + int ende = zahlen.length - 1; + + while (anfang <= ende) { + int mitte = (anfang + ende) / 2; + + if (zahlen[mitte] == gesucht) { + System.out.println(mitte + " -> " + zahlen[mitte]); + return mitte; + } else if (zahlen[mitte] < gesucht) { + anfang = mitte + 1; + } else { + ende = mitte - 1; + } + } + + System.out.println("Element nicht gefunden."); + return -1; + } +} diff --git a/Programmieren/src/Lernen/BubbleSort.java b/Programmieren/src/Lernen/BubbleSort.java new file mode 100644 index 0000000..a173a62 --- /dev/null +++ b/Programmieren/src/Lernen/BubbleSort.java @@ -0,0 +1,53 @@ +import java.util.Arrays; + +public class BubbleSort { + /* + + ,--.!, + __/ -*- + ,d08b. '|` + 0088MM + `9MMP' + + hjm (http://www.ascii-art.de/ascii/ab/bomb.txt) + + */ + + // Your mission, should you chose to accept it is to implement + // a simple Bubblesort algorithm. + + public static void main(String[] args) { + +// int[] arr = {1,2,3,4,5,6,7,8}; // best case + int[] arr = {17, 4, 3, 8, 7, 2, 5, 9, 12}; // *some* average case +// int[] arr = {17, 8, 6, 5, 4, 3, 2, 1}; // worst case + + int zähler = 0; + + boolean sortiert; + do { + sortiert = true; + + for (int x = 0; x < arr.length-1; x++) { + if (arr[x] > arr[x+1]) { + swap(arr, x, x+1); + sortiert = false; + } + + zähler++; + } // for + + } while(!sortiert); + + + System.out.println(Arrays.toString(arr)); + System.out.println(zähler); + } + + public static void swap(int[] brr, int ei, int zi ) { + int merker = brr[ei]; + brr[ei] = brr[zi]; + brr[zi] = merker; + } + +} \ No newline at end of file diff --git a/Programmieren/src/Lernen/DoNotDisturb.java b/Programmieren/src/Lernen/DoNotDisturb.java new file mode 100644 index 0000000..093e620 --- /dev/null +++ b/Programmieren/src/Lernen/DoNotDisturb.java @@ -0,0 +1,39 @@ +package Lernen; +import java.util.Scanner; + +public class DoNotDisturb{ + private static final String SCHATZI = "1234567890"; + private static final String MUTTI = "9876543210"; + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + + System.out.print("Geben Sie die Uhrzeit des Anrufs (Stunden) ein: "); + int callHour = scanner.nextInt(); + scanner.nextLine(); // Consume the newline character + + System.out.print("Geben Sie die Anrufernummer ein: "); + String callerNumber = scanner.nextLine(); + + if (shouldPhoneRing(callHour, callerNumber)) { + System.out.println("Das Handy klingelt."); + } else { + System.out.println("Das Handy klingelt nicht."); + scanner.close(); + } + } + + public static boolean shouldPhoneRing(int callHour, String callerNumber) { + + if ((callHour >= 22 || callHour < 10) && !callerNumber.equals(SCHATZI)) { + return false; + } + + + if ((callHour >= 8 && callHour < 10) && (callerNumber.equals(SCHATZI) || callerNumber.equals(MUTTI))) { + return true; + } + + return true; + } +} diff --git a/Programmieren/src/Lernen/GroeßteKleinsteArray.java b/Programmieren/src/Lernen/GroeßteKleinsteArray.java new file mode 100644 index 0000000..dceb169 --- /dev/null +++ b/Programmieren/src/Lernen/GroeßteKleinsteArray.java @@ -0,0 +1,22 @@ +package Lernen; + +public class GroeßteKleinsteArray { + public static void main(String[] args) { + int []zahlen = {1,2,5,9,17,0,5}; + + System.out.println(kleinsteGesucht(zahlen)); + } + +public static int kleinsteGesucht(int[] zahlen2) { + int kleinste = zahlen2[0]; +for(int z : zahlen2) { + + System.out.println(z); + if(z< kleinste) { + kleinste = z; + System.out.println("Neue kleinste: "+z); + } +} +return kleinste; +} +} diff --git a/Programmieren/src/Lernen/IndischesMulti.java b/Programmieren/src/Lernen/IndischesMulti.java new file mode 100644 index 0000000..32c24a4 --- /dev/null +++ b/Programmieren/src/Lernen/IndischesMulti.java @@ -0,0 +1,5 @@ +package Lernen; + +public class IndischesMulti { + +} diff --git a/Programmieren/src/Lernen/Kniffel.java b/Programmieren/src/Lernen/Kniffel.java new file mode 100644 index 0000000..3a5ec18 --- /dev/null +++ b/Programmieren/src/Lernen/Kniffel.java @@ -0,0 +1,23 @@ +//Kniffel mit 5 Würfel programmieren +package Lernen; + +public class Kniffel { +public static void main(String[] args) { + System.out.println("Willkommen bei Kniffel"); + System.out.println("Sie werden nun mit 5 Würfeln würfeln um versuchen die best möglichen Kombinationen zu erwürfeln"); + + int i = 0; + int [] zahlen = new int [5]; + while(i<5) { + zahlen[i] = (int) ((Math.random()*6)+1); + System.out.println("Ihre Zahl ist "+zahlen[i]); + i++; + } + if(zahlen[0]==zahlen[1]&&zahlen[1]==zahlen[2]&&zahlen[2]==zahlen[3]&&zahlen[3]==zahlen[4]){ + System.out.println("Sie haben Kniffel und somit 50 Punkte, Herrzlichen Glückwunsch"); + } + else { + int Ergebnis = zahlen[0]+zahlen[1]+zahlen[2]+zahlen[3]+zahlen[4]; + System.out.println("Sie haben "+Ergebnis+" gewürfelt"); + } } +} diff --git a/Programmieren/src/Lernen/Lotto.java b/Programmieren/src/Lernen/Lotto.java new file mode 100644 index 0000000..348e803 --- /dev/null +++ b/Programmieren/src/Lernen/Lotto.java @@ -0,0 +1,22 @@ +package Lernen; +import java.util.Scanner; +public class Lotto { +public static void main(String[] args) { + int [] tippzahl = new int[7]; + int [] ziehzahl = new int[7]; + Scanner scanner = new Scanner(System.in); + boolean haltstopp= false; + + System.out.println("Willkommen beim HSMA Lotto"); + System.out.println("Wollen Sie eine Runde spielen?"); + +while (haltstopp) { + System.out.println("Wählen Sie Ihre erste Zahl"); + + +} + + + +} +} diff --git a/Programmieren/src/Lernen/LottoLoesung.java b/Programmieren/src/Lernen/LottoLoesung.java new file mode 100644 index 0000000..2b280c6 --- /dev/null +++ b/Programmieren/src/Lernen/LottoLoesung.java @@ -0,0 +1,77 @@ +package Lernen; +import java.util.Scanner; + +public class LottoLoesung { + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + boolean haltstopp = false; + + System.out.println("Willkommen beim HSMA Lotto"); + System.out.println("Wollen Sie eine Runde spielen? (Ja/Nein)"); + String antwort = scanner.next(); + + while (antwort.equalsIgnoreCase("Ja") || antwort.equalsIgnoreCase("j")) { + int[] tippzahl = new int[6]; // Array für die 6 getippten Zahlen + int superzahl; // Variable für die Superzahl + int[] ziehzahlen = new int[6]; // Array für die gezogenen Zahlen + + System.out.println("Geben Sie Ihre 6 Zahlen ein (1-49):"); + for (int i = 0; i < 6; i++) { + System.out.print("Zahl " + (i + 1) + ": "); + tippzahl[i] = scanner.nextInt(); + } + + System.out.println("Geben Sie die Superzahl ein (0-9):"); + superzahl = scanner.nextInt(); + + // Hier könntest du die Ziehung der Zahlen implementieren + // Zum Testen könntest du Zufallszahlen generieren + // Denk daran, die gezogenen Zahlen in das 'ziehzahlen'-Array zu speichern + + // Zufallsziehung (nur zum Testen): + for (int i = 0; i < 6; i++) { + ziehzahlen[i] = (int) (Math.random() * 49) + 1; + } + + int gezogeneSuperzahl = (int) (Math.random() * 10); + + // Hier kannst du die Zahlen ausgeben und den Gewinn überprüfen + System.out.print("Gezogene Zahlen: "); + for (int zahl : ziehzahlen) { + System.out.print(zahl + " "); + } + System.out.println("\nGezogene Superzahl: " + gezogeneSuperzahl); + + // Hier kannst du die Gewinnprüfung durchführen + int treffer = 0; + for (int i = 0; i < 6; i++) { + if (contains(ziehzahlen, tippzahl[i])) { + treffer++; + } + } + + if (gezogeneSuperzahl == superzahl) { + System.out.println("Superzahl korrekt!"); + } + + System.out.println("Anzahl richtig getippter Zahlen: " + treffer); + + // Hier kannst du den Gewinn entsprechend der Treffer auswerten + + System.out.println("Möchten Sie eine weitere Runde spielen? (Ja/Nein)"); + antwort = scanner.next(); + } + + System.out.println("Vielen Dank und auf Wiedersehen!"); + } + + // Hilfsfunktion zum Überprüfen, ob eine Zahl in einem Array enthalten ist + public static boolean contains(int[] array, int targetValue) { + for (int value : array) { + if (value == targetValue) { + return true; + } + } + return false; + } +} \ No newline at end of file diff --git a/Programmieren/src/Lernen/Mitternachtsformel.java b/Programmieren/src/Lernen/Mitternachtsformel.java new file mode 100644 index 0000000..12ce501 --- /dev/null +++ b/Programmieren/src/Lernen/Mitternachtsformel.java @@ -0,0 +1,37 @@ +package Lernen; + +import java.util.Scanner; + +public class Mitternachtsformel { + public static void main(String[] args) { + + Scanner scanner = new Scanner(System.in); + + System.out.print("Bitte geben Sie diesen Teil der Gleichung ein: "); + System.out.print("a: "); + double a = scanner.nextDouble(); + + System.out.print("b: "); + double b = scanner.nextDouble(); + + System.out.print("c: "); + double c = scanner.nextDouble(); + + double discriminant = b * b - 4 * a * c; + + if (discriminant > 0) { + double root1 = (-b + Math.sqrt(discriminant)) / (2 * a); + double root2 = (-b - Math.sqrt(discriminant)) / (2 * a); + System.out.println("Die Nullen der quadratischen Gleichung sind: " + root1 + " und " + root2); + } else if (discriminant == 0) { + double root = -b / (2 * a); + System.out.println("Die einzige Null der quadratischen Gleichung ist: " + root); + } else { + System.out.println("Die quadratische Gleichung hat keine reellen Nullen."); + } + + scanner.close(); + + + } +} diff --git a/Programmieren/src/Lernen/PasswortZwei.java b/Programmieren/src/Lernen/PasswortZwei.java new file mode 100644 index 0000000..e9109cd --- /dev/null +++ b/Programmieren/src/Lernen/PasswortZwei.java @@ -0,0 +1,47 @@ +package Lernen; +import java.util.Scanner; + +public class PasswortZwei { + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + + System.out.print("Geben Sie das Passwort ein: "); + String password1 = scanner.nextLine(); + + System.out.print("Wiederholen Sie Ihr Passwort: "); + String password2 = scanner.nextLine(); + + if (validatePassword(password1) && validatePassword(password2)) { + System.out.println("Das Passwort erfüllt die Anforderungen."); + } else { + System.out.println("Dast Passwort erfüllt nicht die Anforderungen."); + scanner.close(); + } + } + + public static boolean validatePassword(String password) { + + if (password.length() != 3) { + return false; + } + + boolean hasUpperCase = false; + boolean hasLowerCase = false; + boolean hasDigit = false; + + for (char ch : password.toCharArray()) { + if (Character.isUpperCase(ch)) { + hasUpperCase = true; + } else if (Character.isLowerCase(ch)) { + hasLowerCase = true; + } else if (Character.isDigit(ch)) { + hasDigit = true; + } + } + + return hasUpperCase && hasLowerCase && hasDigit; + + + } + +} diff --git a/Programmieren/src/Lernen/Roulette.java b/Programmieren/src/Lernen/Roulette.java new file mode 100644 index 0000000..f97591a --- /dev/null +++ b/Programmieren/src/Lernen/Roulette.java @@ -0,0 +1,101 @@ +package Lernen; +import java.util.Scanner; +public class Roulette { + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("Willkommen zum Roulette an der Hochschule Mannheim"); + System.out.println("Bitte legen Sie Ihren Pott fest"); + double pott = scanner.nextDouble(); + if (pott > 0) { + while (pott > 0) { + System.out.println("Ihr Pott beträgt noch " + pott + "€"); + System.out.println("Wie viel möchten Sie setzen? "); + double einsatz = scanner.nextDouble(); + System.out.println("Auf welche Zahl oder Wettmöglichkeit möchten Sie setzen?"); + System.out.println("1. Einzelne Zahl (0-36)"); + System.out.println("2. Rot (1-10, 19-28) / Schwarz (11-18, 29-36)"); + System.out.println("3. Gerade (2, 4, 6, ...) / Ungerade (1, 3, 5, ...)"); + System.out.println("4. Dutzend (1-12, 13-24, 25-36)"); + System.out.println("5. Kolonnen 1.te, 2.te, 3.te"); + int wettOption = scanner.nextInt(); + int gewzahl = (int) (Math.random() * 37); + switch (wettOption) { + case 1: // Einzelne Zahl + System.out.println("Sie setzen auf eine einzelne Zahl."); + int setzahl = scanner.nextInt(); + if (setzahl == gewzahl) { + System.out.println("Das Roulette landet auf "+setzahl+" Herzlichen Glückwunsch, Sie haben gewonnen!"); + pott += einsatz * 36; // Gewinn = 36*einsatz + } else { + System.out.println("Das Roulette landet auf "+gewzahl+" Leider hatten Sie Pech."); + pott -= einsatz; + } + break; + case 2: // Rot oder Schwarz + System.out.println("Sie setzen auf Rot oder Schwarz. Geben Sie 'r' für Rot oder 's' für Schwarz ein."); + @SuppressWarnings("unused") String farbe = (gewzahl >= 1 && gewzahl <= 10) || (gewzahl >= 19 && gewzahl <= 28) ? "rot" : "schwarz"; + String setfarbe = scanner.next().toLowerCase(); + if (setfarbe.equals("r") || setfarbe.equals("s")) { + if (setfarbe.equals("r")) { + System.out.println("Das Roulette landet auf Rot. Herzlichen Glückwunsch, Sie haben gewonnen!"); + } else { + System.out.println("Das Roulette landet auf Schwarz. Herzlichen Glückwunsch, Sie haben gewonnen!"); + } + pott += einsatz; // Gewinn = einsatz + } else { + System.out.println("Ungültige Eingabe. Sie müssen 'r' für Rot oder 's' für Schwarz eingeben."); + pott -= einsatz; + } + break; + case 3: // Gerade oder Ungerade + System.out.println("Sie setzen auf Gerade oder Ungerade."); + String geradeUngerade = (gewzahl % 2 == 0) ? "Gerade" : "Ungerade"; + String setgeradeUngerade = scanner.next(); + if (setgeradeUngerade.equalsIgnoreCase(geradeUngerade)) { + System.out.println("Das Roulette landet auf "+setgeradeUngerade+" Herzlichen Glückwunsch, Sie haben gewonnen!"); + pott += einsatz; // Gewinn = einsatz + } else { + System.out.println("Das Roulette landet auf "+geradeUngerade+" Leider hatten Sie Pech."); + pott -= einsatz; + } + break; + case 4: // Dutzend + System.out.println("Sie setzen auf ein Dutzend (1-12, 13-24, 25-36)."); + int setdutzend = scanner.nextInt(); + int gewdutzend = (gewzahl >= 1 && gewzahl <= 12) ? 1 : (gewzahl >= 13 && gewzahl <= 24) ? 2 : 3; + if (setdutzend == gewdutzend) { + System.out.println("Das Roulette landet auf "+setdutzend+" Herzlichen Glückwunsch, Sie haben gewonnen!"); + pott += einsatz * 2; // Gewinn = 2*Einsatzes + } else { + System.out.println("Das Roulette landet auf "+gewdutzend+" Leider hatten Sie Pech."); + pott -= einsatz; + } + break; + case 5: + System.out.println("Sie setzen auf die Kolonnen 1/2/3."); + int setKolonne = scanner.nextInt(); + int gewKolonne = (int) (Math.random()*4); + if(gewKolonne%3 == 0 && gewKolonne+3 == setKolonne){ + System.out.println("Das Roulette landet auf Zahlen der Kolonne "+setKolonne+" Herzlichen Glückwunsch, Sie haben gewonnen!"); + pott += einsatz * 2;} + else if(gewKolonne == setKolonne) { + System.out.println("Das Roulette landet auf Zahlen der Kolonne "+gewKolonne+" Herzlichen Glückwunsch, Sie haben gewonnen!"); + pott += einsatz * 2; + } + else { + System.out.println("Das Roulette landet auf Zahlen der Kolonne "+gewKolonne+" Leider haben Sie verloren"); + pott -= einsatz; + } + break; + default: + System.out.println("Ungültige Wettauswahl. Bitte wählen Sie erneut."); + break; + } + System.out.println("Ihr Pott beträgt jetzt " + pott + "€"); + } + } else { + System.out.println("Leider haben Sie keinen Einsatz getätigt. Somit können Sie nicht spielen."); + } + scanner.close(); + } +} \ No newline at end of file diff --git a/Programmieren/src/Lernen/Testat1.java b/Programmieren/src/Lernen/Testat1.java new file mode 100644 index 0000000..82096b2 --- /dev/null +++ b/Programmieren/src/Lernen/Testat1.java @@ -0,0 +1,67 @@ +package Lernen; +import java.util.Scanner; +public class Testat1 { + public static void main(String[] args) { + + Scanner scanner = new Scanner (System.in); + String initialpasswort = "Pr-2023!"; + boolean anhalten = false; + int fehlversuche = 0; + + while(!anhalten) { + System.out.println("Willkommen bei der Passwortverwaltung."); + System.out.println("Wollen Sie Ihr Passwort ändern"); + String bereit = scanner.nextLine(); + + while (bereit.equalsIgnoreCase("Ja") || bereit.equalsIgnoreCase("j")) + { + System.out.println("Geben Sie das Initialpasswort ein:"); + String passwort1 = scanner.nextLine(); + while(fehlversuche <=2) { + if(passwort1.equals(initialpasswort)) { + System.out.println("Wie soll Ihr neues Passwort aussehen?"); + String passwort2 = scanner.nextLine(); + if(passwort2.length()>=8 && passwort2.length() <= 16 ) { + System.out.println("Das Passwort erfüllt die Längenvorgaben"); + System.out.println("Bitte geben Sie zur Sicherheit das neue Passwort erneut ein"); + String passwort3 = scanner.nextLine(); + if(passwort3.equals(passwort2)) { + System.out.println("Ihr neues Passwort wurde gesetzt"); + initialpasswort = passwort2; + System.out.println("Wollen Sie erneut ein neues passwort setzen?"); + bereit = scanner.nextLine(); + }//schließt if abfrage ob neues passwort 2te eingabe ist erste eingabe + else { + System.out.println("Ihr neues Passwort stimmt nicht überein."); + System.out.println("Bitte versuchen sie das neu gesetzte Passwort erneut"); + passwort3 = scanner.nextLine(); + }//schließt passwort neu eingabe 2 und 1 sind nicht klein + }//schließt if passwort is größer 8 kleiner 16 + else { + System.out.println("Das Passwort erfüllt leider nicht die Längenvorgaben"); + System.out.println("Bitte versuchen Sie es nocheinmal"); + passwort2 = scanner.nextLine(); + }//schließst else falsche länge + }//schließt die if abfrage ob passwort1 initialpasswort + + else { + fehlversuche = fehlversuche +1; + System.out.println("Das Passwort ist leider nicht korrekt."); + System.out.println("Bitte versuchen Sie es noch einmal"); + passwort1 = scanner.nextLine(); + }//schließt die falsche Passwort else + } + + + { + System.out.println("Sie haben zu viele Falsche eingaben gemacht."); + System.out.println("Bitte Kontaktieren Sie den Support."); + break; + } + + }//erste while + System.out.println("Einen schönen Tag noch"); + anhalten=true; + } //zweite while + }//main methode +}//body \ No newline at end of file diff --git a/Programmieren/src/Lernen/UebungWhile.java b/Programmieren/src/Lernen/UebungWhile.java new file mode 100644 index 0000000..33695dc --- /dev/null +++ b/Programmieren/src/Lernen/UebungWhile.java @@ -0,0 +1,22 @@ +package Lernen; +import java.util.Scanner; +public class UebungWhile { + public static void main(String[] args) { + + Scanner scanner = new Scanner(System.in); + + + System.out.println("Bitte geben Sie eine Zahl ein, die größer ist als 0"); + int zahl = scanner.nextInt(); + int i = 1; // + int fertig = 0; + while (i <= zahl) { + fertig += i; + i++; + } + + System.out.println("Die Summe der Zahlen beträgt " + fertig); + scanner.close(); + } +} + diff --git a/Programmieren/src/Lernen/VektorRechner.java b/Programmieren/src/Lernen/VektorRechner.java new file mode 100644 index 0000000..726a3d6 --- /dev/null +++ b/Programmieren/src/Lernen/VektorRechner.java @@ -0,0 +1,56 @@ +package Lernen; +import java.util.Scanner; + +public class VektorRechner { + public static int[] rechneMitVector(int[][] matrixUebergabe, int[] vectorUebergabe) { + int[] ergebnisMatrix = {0,0,0}; + for (int i = 0; i < matrixUebergabe.length; i++) { + for (int j = 0; j < vectorUebergabe.length; j++) { + ergebnisMatrix[i] += (vectorUebergabe[j] * matrixUebergabe[i][j]); + } + } + return ergebnisMatrix; + } + + public static void main(String[] args) { + Scanner eingabe = new Scanner(System.in); + System.out.println("Eingabe Spalten:"); + int spalten = eingabe.nextInt(); + System.out.println("Eingabe Spalten:"); + int zeilen = eingabe.nextInt(); + + int[][] matrix = new int[spalten][zeilen]; + int[] vector = new int[zeilen]; + + for (int i = 0; i < matrix.length; i++) { + + for (int j = 0; j < matrix[0].length; j++) { + System.out.println("Nächstes Element"); + matrix[i][j] = eingabe.nextInt(); + } + System.out.println("Achtung nächste Zeile"); + } + for (int i = 0; i < vector.length; i++) { + + System.out.println("Nächstes Element"); + vector[i] = eingabe.nextInt(); + } + + for (int aeussereMatrix[] : matrix) { + for (int element : aeussereMatrix) { + System.out.print(element + " "); + } + System.out.println(""); + } + System.out.println("Vector:"); + for (int element : vector) { + System.out.println(element); + } + System.out.println("Ergebnismatrix:"); + int[] ergebnisMatrix = rechneMitVector(matrix, vector); + + for (int element : ergebnisMatrix) { + System.out.println(element); + } + } +} diff --git a/Programmieren/src/Lernen/VierGewinnt.java b/Programmieren/src/Lernen/VierGewinnt.java new file mode 100644 index 0000000..393c45a --- /dev/null +++ b/Programmieren/src/Lernen/VierGewinnt.java @@ -0,0 +1,132 @@ +import java.util.Scanner; + +public class VierGewinnt { + public static char[][] spielfeldInitialisieren() { + char[][] spielfeld = new char[6][7]; + return spielfeld; + } + + public static void spielfeldAusgeben(char[][] spielfeld) { + for (int z = 0; z < spielfeld.length; z++) { + for (int s = 0; s < spielfeld[z].length; s++) { + System.out.print(spielfeld[z][s] + " "); + } + System.out.println(); + } + } + + public static boolean gewinnpruefung(char[][] spielfeld, char spieler) { + // Check for horizontal win + for (int z = 0; z < spielfeld.length; z++) { + for (int s = 0; s <= spielfeld[z].length - 4; s++) { + if (spielfeld[z][s] == spieler && + spielfeld[z][s + 1] == spieler && + spielfeld[z][s + 2] == spieler && + spielfeld[z][s + 3] == spieler) { + return true; + } + } + } + + // Check for vertical win + for (int s = 0; s < spielfeld[0].length; s++) { + for (int z = 0; z <= spielfeld.length - 4; z++) { + if (spielfeld[z][s] == spieler && + spielfeld[z + 1][s] == spieler && + spielfeld[z + 2][s] == spieler && + spielfeld[z + 3][s] == spieler) { + return true; + } + } + } + + // Check for diagonal win (from top-left to bottom-right) + for (int z = 0; z <= spielfeld.length - 4; z++) { + for (int s = 0; s <= spielfeld[z].length - 4; s++) { + if (spielfeld[z][s] == spieler && + spielfeld[z + 1][s + 1] == spieler && + spielfeld[z + 2][s + 2] == spieler && + spielfeld[z + 3][s + 3] == spieler) { + return true; + } + } + } + + // Check for diagonal win (from top-right to bottom-left) + for (int z = 0; z <= spielfeld.length - 4; z++) { + for (int s = 3; s < spielfeld[z].length; s++) { + if (spielfeld[z][s] == spieler && + spielfeld[z + 1][s - 1] == spieler && + spielfeld[z + 2][s - 2] == spieler && + spielfeld[z + 3][s - 3] == spieler) { + return true; + } + } + } + + // No winning condition found + return false; + } + + + public static void main(String[] args) { + System.out.println("Willkommen beim 4 Gewinnt der PR1"); + + boolean weiter = true; + Scanner scanner = new Scanner(System.in); + + // Game loop + do { + char[][] spielfeld = spielfeldInitialisieren(); + + // Gewinner loop + boolean gewonnen = false; + char aktuellerSpieler = 'X'; + + // Game loop + do { + // Spielfeld ausgeben + spielfeldAusgeben(spielfeld); + + // Spielstein einwurf + System.out.println("Spieler " + aktuellerSpieler + " ist am Zug. Bitte Spalte wählen (1-7): "); + int spalte = scanner.nextInt() - 1; + + // Überprüfen, ob die gewählte Spalte gültig ist + if (spalte < 0 || spalte >= spielfeld[0].length || spielfeld[0][spalte] != ' ') { + System.out.println("Ungültige Eingabe. Bitte erneut versuchen."); + continue; + } + + // Spielstein setzen + for (int z = spielfeld.length - 1; z >= 0; z--) { + if (spielfeld[z][spalte] == ' ') { + spielfeld[z][spalte] = aktuellerSpieler; + break; + } + } + + // Gewinnprüfung + gewonnen = gewinnpruefung(spielfeld, aktuellerSpieler); + + // Wechsel zum anderen Spieler + aktuellerSpieler = (aktuellerSpieler == 'X') ? 'O' : 'X'; + + } while (!gewonnen); + + // Spielfeld am Ende nochmal ausgeben + spielfeldAusgeben(spielfeld); + + // Gewinner ausgabe bzw. Unentschieden + System.out.println("Spieler " + aktuellerSpieler + " hat gewonnen!"); + + // Spiel nochmal spielen? + System.out.println("Möchten Sie nochmal spielen? (ja/nein): "); + String wiederholen = scanner.next(); + weiter = wiederholen.equalsIgnoreCase("ja"); + + } while (weiter); + + scanner.close(); + } +} diff --git a/Programmieren/src/Lernen/WorteMitLeer.java b/Programmieren/src/Lernen/WorteMitLeer.java new file mode 100644 index 0000000..01f909c --- /dev/null +++ b/Programmieren/src/Lernen/WorteMitLeer.java @@ -0,0 +1,19 @@ +package Lernen; + +public class WorteMitLeer { + public static void main(String[] args) { + String s = "eins zwei drei vier"; + String[] worte = s.split(" "); + + int i = 0; + while(i < worte.length) { + System.out.println(worte[i]+" "); + + int j = 0; + while(j< worte[i].length()) { + System.out.println(worte[i].charAt(j)+" "); + } + i++; + } + } +} \ No newline at end of file diff --git a/Programmieren/src/Lernen/ZaehlSchleife.java b/Programmieren/src/Lernen/ZaehlSchleife.java new file mode 100644 index 0000000..573cfb1 --- /dev/null +++ b/Programmieren/src/Lernen/ZaehlSchleife.java @@ -0,0 +1,9 @@ +package Lernen; + +public class ZaehlSchleife { +public static void main (String[]args) { + for(int i=1; i<10; i++) { + System.out.println("%2d%n",i); + } +} +} diff --git a/Programmieren/src/Lernen/ZahlenRate.java b/Programmieren/src/Lernen/ZahlenRate.java new file mode 100644 index 0000000..b6ab7bb --- /dev/null +++ b/Programmieren/src/Lernen/ZahlenRate.java @@ -0,0 +1,57 @@ +package Lernen; +import java.util.Scanner; + +public class ZahlenRate { + public static void main(String[] args) { + boolean stoppen = false; + int[] punktzahl = new int[1000]; + int[] qpunktzahl = new int[1000]; + int punkt = 0; + Scanner scanner = new Scanner(System.in); + + System.out.println("Willkommen zum Zahlenraten. Mein Name Quantum. Ich habe mir eine Zahl zwischen 1 und 100"); + System.out.println("Bist du mutig genug, um ein Spiel mit mir zu wagen?"); + String antwort = scanner.next(); + + while (!stoppen) { + int versuche = 0; + int[] tippzahl = new int[10]; + int quanzahl = (int) (Math.random() * 100) + 1; // Neue Zufallszahl für jede Runde generieren + + while (antwort.equalsIgnoreCase("Ja") || antwort.equalsIgnoreCase("j")) { + versuche = 0; + + while (versuche < 10) { + System.out.println("Welche Zahl tippst du?"); + int deinzahl = scanner.nextInt(); + tippzahl[versuche] = deinzahl; + + if (deinzahl == quanzahl) { + System.out.println("Herzlichen Glückwunsch, du hast die Zahl erraten!"); + System.out.println("Du erhältst einen Punkt."); + punktzahl[punkt] += 1; + System.out.println("Der aktuelle Punktestand steht bei: " + punktzahl[punkt] + " " + qpunktzahl[punkt]); + break; + } + if (deinzahl < quanzahl) { + System.out.println("Dein Tipp ist " + tippzahl[versuche]); + System.out.println("Schon nah dran, aber leider noch zu niedrig."); + } else { + System.out.println("Dein Tipp ist " + tippzahl[versuche]); + System.out.println("Schon nah dran, aber leider zu groß."); + } + versuche++; + } + + System.out.println("Möchten Sie eine weitere Runde spielen? (Ja/Nein)"); + antwort = scanner.next(); + } + + System.out.println("Das Spiel ging: " + punktzahl[punkt] + " zu " + qpunktzahl[punkt] + " aus"); + punkt++; + + System.out.println("Möchten Sie eine weitere Runde spielen? (Ja/Nein)"); + antwort = scanner.next(); + } + } +} diff --git a/Programmieren/src/Lernen/Zahlenraten.java b/Programmieren/src/Lernen/Zahlenraten.java new file mode 100644 index 0000000..8a1929c --- /dev/null +++ b/Programmieren/src/Lernen/Zahlenraten.java @@ -0,0 +1,55 @@ +package Lernen; +import java.util.Scanner; +public class Zahlenraten { +public static void main(String[] args) { + +boolean stoppen = false; +int [] punktzahl = new int[1000]; +int [] qpunktzahl = new int[1000]; +int punkt = 0; +int versuche = 0; +int quanzahl = (int) (Math.random()*101); +Scanner scanner = new Scanner(System.in); +int tippzahl [] = new int [10]; +System.out.println("Willkommen zum Zahlenraten. Mein Name Quantum. Ich habe mir eine Zahl zwischen 1 und 100"); +System.out.println("Bist du mutig genug um ein Spiel mit mir zu wagen?"); +String antwort = scanner.next(); +while (stoppen == false) { +while (antwort.equalsIgnoreCase("Ja") || antwort.equalsIgnoreCase("j")) { +while (versuche <= 9) { + + System.out.println("Welche Zahl tippst du?"); + int deinzahl = scanner.nextInt(); + tippzahl[versuche]= deinzahl; + if(deinzahl == quanzahl) { + System.out.println("Herrzlichen Glückwunsch du hast die Zahl erraten"); + System.out.println("Sie erhalten einen Punkt"); + punktzahl[punkt] = punkt+1; + System.out.println("Der aktuelle Punktestand steht bei:"); + System.out.println(punktzahl[punkt] + " "+ qpunktzahl[punkt]); + stoppen = true; + break; + } + + else if(deinzahl < quanzahl) { + System.out.println("Dein Tipp ist "+tippzahl[versuche]); + System.out.println("Schon nah dran, aber leider noch zu niedrig"); + } + else { + System.out.println("Dein Tipp ist "+tippzahl[versuche]); + System.out.println("Schon nah dran, aber leider zu groß"); + } + versuche++; + +} +System.out.println("Leider konnten sie es nicht schaffen mich zu schlagen."); +qpunktzahl[punkt] = punkt+1; +System.out.println("Der aktuelle Punktestand steht bei:"); +System.out.println(punktzahl[punkt] + " "+ qpunktzahl[punkt]); +System.out.println("Möchten Sie eine weitere Runde spielen? (Ja/Nein)"); +antwort = scanner.next(); +} +System.out.println("Das Spiel ging: "+punktzahl[punkt]+" zu "+qpunktzahl[punkt]+" aus"); +} +} +}