Signed-off-by: leonl <leonl@Laptop-Leon.fritz.box>

main
leonl 2023-11-24 15:03:10 +01:00
parent 9c5fd9a37b
commit 7827ec4069
26 changed files with 1012 additions and 0 deletions

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Programmieren</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,5 @@
package Lernen;
public class IndischesMulti {
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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