GenAI Programmierung - einfache oder mittelschwere Aufgabe lösen - Wordle Clon

Categories: genai   Code   Coding

GenAI Programmierung - einfache oder mittelschwere Aufgabe lösen

Finden von einfachen Programmieraufgaben Brainstorming ChatGPT

Prompts

  • ideen sammlung für einfache java projekte für progrmmierer einsteiger
  • noch weitere ideen
  • use edge: wo gibt es ein wörterbuch der dutschen sprache?

Result

Hier sind einige einfache Java-Projektideen, die sich gut für Programmierer-Einsteiger eignen:

  1. Taschenrechner:
    • Erstelle eine Konsolenanwendung, die grundlegende mathematische Operationen wie Addition, Subtraktion, Multiplikation und Division durchführt.
    • Füge Erweiterungen wie Potenzierung und Wurzelziehen hinzu.
  2. Notenverwaltungssystem:
    • Entwickle eine Anwendung, mit der Benutzer Noten für verschiedene Fächer eingeben und den Durchschnitt berechnen können.
    • Füge eine Funktion hinzu, um die beste und die schlechteste Note anzuzeigen.
  3. Todo-Liste:
    • Erstelle eine einfache Anwendung, bei der Benutzer Aufgaben hinzufügen, löschen und als erledigt markieren können.
    • Speichere die Aufgaben in einer Datei, sodass sie nach dem Schließen der Anwendung erhalten bleiben.
  4. Zahlenraten-Spiel:
    • Entwickle ein Spiel, bei dem der Benutzer eine zufällig generierte Zahl erraten muss.
    • Gebe nach jedem Versuch Hinweise, ob die gesuchte Zahl höher oder niedriger ist.
  5. Kontaktbuch:
    • Erstelle ein einfaches Kontaktbuch, in dem Benutzer Namen, Telefonnummern und E-Mail-Adressen speichern können.
    • Füge eine Suchfunktion hinzu, um Kontakte nach Namen zu finden.
  6. Hangman-Spiel:
    • Implementiere das klassische Hangman-Spiel, bei dem der Benutzer Buchstaben raten muss, um ein Wort zu erraten.
    • Füge verschiedene Schwierigkeitsstufen hinzu, z. B. durch Wörter unterschiedlicher Länge.
  7. Umrechnungstool:
    • Entwickle ein Tool zur Umrechnung zwischen verschiedenen Einheiten, z. B. Längen (Meter, Kilometer, Meilen) oder Temperaturen (Celsius, Fahrenheit).
    • Biete eine einfache Benutzeroberfläche zur Auswahl der Umwandlung an.
  8. Palindrom-Prüfer:
    • Schreibe ein Programm, das überprüft, ob ein eingegebener String ein Palindrom ist.
    • Erweitere es um eine Funktion, die auch Sätze und Zahlen berücksichtigt.
  9. Wörterzähler:
    • Entwickle ein Programm, das die Anzahl der Wörter in einem eingegebenen Text zählt.
    • Füge zusätzliche Funktionen hinzu, wie z. B. das Zählen von Sätzen und Zeichen.
  10. Einfache Textverschlüsselung:
    • Erstelle ein Programm, das Texte durch einfache Methoden wie Caesar-Verschiebung oder ROT13 verschlüsselt.
    • Biete die Möglichkeit, den verschlüsselten Text auch wieder zu entschlüsseln.

Diese Projekte helfen dir, die Grundlagen von Java zu festigen, wie z. B. Schleifen, Bedingungen, Arrays und einfache Klassenstrukturen. Du kannst sie je nach deinem Fortschritt und Interesse weiter ausbauen und kompliziertere Funktionen hinzufügen.

Hier sind weitere Ideen für einfache Java-Projekte, die für Einsteiger geeignet sind:

  1. Kalender-Anwendung:
    • Entwickle eine Anwendung, die das aktuelle Datum und die Zeit anzeigt.
    • Füge eine Funktion hinzu, um zukünftige oder vergangene Daten zu berechnen, z. B. “Welcher Tag ist in 100 Tagen?”.
  2. Bankkonto-Verwaltung:
    • Implementiere eine einfache Simulation eines Bankkontos, bei der der Benutzer Einzahlungen und Abhebungen vornehmen kann.
    • Zeige den aktuellen Kontostand an und füge eine Funktion hinzu, um Transaktionen in einer Liste anzuzeigen.
  3. Quiz-Spiel:
    • Erstelle ein Quiz mit einer Reihe von Fragen, bei dem der Benutzer die richtige Antwort aus mehreren Optionen auswählen muss.
    • Implementiere ein Punktesystem und zeige am Ende die Gesamtpunktzahl an.
  4. Kleines Textabenteuer:
    • Entwickle ein textbasiertes Abenteuerspiel, bei dem der Spieler durch einfache Entscheidungen durch die Geschichte navigiert.
    • Erstelle verschiedene Pfade und Enden, die auf den Entscheidungen des Spielers basieren.
  5. Zufalls-Passwortgenerator:
    • Schreibe ein Programm, das sichere, zufällige Passwörter generiert.
    • Gib dem Benutzer die Möglichkeit, die Länge und Komplexität des Passworts (Großbuchstaben, Sonderzeichen, etc.) anzupassen.
  6. Einfache Wetter-App:
    • Entwickle eine Konsolenanwendung, die eine Wettervorhersage für den aktuellen Tag basierend auf zufälligen Daten anzeigt.
    • Füge verschiedene Wetterbedingungen wie sonnig, regnerisch oder bewölkt hinzu.
  7. Stoppuhr:
    • Erstelle eine Anwendung, die als Stoppuhr fungiert, mit Start-, Stopp- und Zurücksetzfunktion.
    • Zeige die abgelaufene Zeit im Format Stunden, Minuten, Sekunden und Millisekunden an.
  8. Minesweeper-Klon:
    • Entwickle eine einfache Version des Spiels Minesweeper in der Konsole.
    • Implementiere ein 2D-Array, in dem der Spieler Felder aufdecken kann, und setze zufällig Minen.
  9. Sortier-Visualisierung:
    • Schreibe ein Programm, das verschiedene Sortieralgorithmen (z. B. Bubble Sort, Selection Sort) visualisiert.
    • Verwende einfache Textausgaben, um den Fortschritt des Sortierens zu zeigen.
  10. Einfacher Chatbot:
    • Entwickle einen Chatbot, der auf einfache vordefinierte Schlüsselwörter oder Phrasen reagiert.
    • Füge eine Liste mit Antworten hinzu und erweitere den Chatbot nach und nach um neue Funktionen.
  11. Fibonacci-Rechner:
    • Schreibe ein Programm, das die Fibonacci-Folge bis zu einem bestimmten Wert berechnet.
    • Füge eine Option hinzu, die berechnet, wie lange es dauert, bis eine bestimmte Zahl in der Folge erreicht wird.
  12. Umgekehrter String:
    • Implementiere ein Programm, das einen eingegebenen String umkehrt.
    • Füge eine Funktion hinzu, die überprüft, ob der umgekehrte String gleich dem ursprünglichen ist (Palindromprüfung).
  13. Temperaturkonverter:
    • Erstelle ein Programm, das Temperaturen zwischen verschiedenen Einheiten wie Celsius, Fahrenheit und Kelvin umrechnet.
    • Biete eine einfache Benutzeroberfläche zur Eingabe und Ausgabe an.
  14. Rechner für den Body-Mass-Index (BMI):
    • Entwickle eine Anwendung, die den BMI basierend auf Größe und Gewicht berechnet.
    • Gib eine Einschätzung aus, ob der BMI im Normalbereich, unter- oder übergewichtig liegt.
  15. Einfache Datenverschlüsselung:
    • Erstelle ein Programm, das eine einfache Methode zur Verschlüsselung und Entschlüsselung von Texten verwendet, wie z. B. eine einfache XOR-Verschlüsselung.

Diese Projekte helfen dir, dich weiter mit Java vertraut zu machen und bieten viele Möglichkeiten, um deine Programmierfähigkeiten zu vertiefen. Du kannst diese Ideen auch kombinieren oder erweitern, um sie anspruchsvoller zu gestalten

Umsetzung

Prompts

  • java schreibe eine wordle clon
  • teste ob eingegebenes wort in text-datei ist
  • SUCHE ZUFÄLLIGES WORT MIT & BUCHSTABEN AUS
  • nutze nur geheimworte, die den ersten buchstaben gross haben #
  • löse das ratespiel selbst

    Antworten

Wordle Java Variante 1: java schreibe eine wordle clon

Demo Video

Java Source Code

package tests;

  

import java.util.Scanner;

/**

* wordle Prompt1 : java schreibe eine wordle clon

*/

public class WordleClone1 {

  

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

  

String secretWord = "apple"; // Das geheime Wort, das erraten werden muss

int maxAttempts = 6; // Maximale Anzahl von Versuchen

  

System.out.println("Willkommen zum Wordle-Klon!");

System.out.println("Errate das geheime Wort. Du hast " + maxAttempts + " Versuche.");

  

for (int attempt = 1; attempt <= maxAttempts; attempt++) {

System.out.print("Versuch " + attempt + ": ");

String guess = scanner.nextLine().toLowerCase();

  

if (guess.length() != secretWord.length()) {

System.out.println("Das Wort muss genau " + secretWord.length() + " Buchstaben lang sein.");

attempt--;

continue;

}

  

if (guess.equals(secretWord)) {

System.out.println("Glückwunsch! Du hast das Wort erraten.");

break;

} else {

for (int i = 0; i < secretWord.length(); i++) {

if (guess.charAt(i) == secretWord.charAt(i)) {

System.out.print(guess.charAt(i) + " ");

} else if (secretWord.contains(String.valueOf(guess.charAt(i)))) {

System.out.print("? ");

} else {

System.out.print("_ ");

}

}

System.out.println();

}

  

if (attempt == maxAttempts) {

System.out.println("Leider hast du das Wort nicht erraten. Das richtige Wort war: " + secretWord);

}

}

  

scanner.close();

}

}

Wordle Java Variante 2: teste ob eingegebenes wort in text-datei ist

Demo Video

Java Source Code

package tests;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

/**
 * Wordle Clone; Prompt 2: teste ob eingegebenes wort in text-datei ist
 */
public class WordleClone2 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		Set<String> allowedWords = loadWordsFromFile("words.txt");

		if (allowedWords.isEmpty()) {
			System.out.println("Fehler: Die Wörterliste konnte nicht geladen werden.");
			return;
		}

		String secretWord = "apple"; // Das geheime Wort, das erraten werden muss
		int maxAttempts = 6; // Maximale Anzahl von Versuchen

		System.out.println("Willkommen zum Wordle-Klon!");
		System.out.println("Errate das geheime Wort. Du hast " + maxAttempts + " Versuche.");

		for (int attempt = 1; attempt <= maxAttempts; attempt++) {
			System.out.print("Versuch " + attempt + ": ");
			String guess = scanner.nextLine().toLowerCase();

			if (!allowedWords.contains(guess)) {
				System.out.println("Das eingegebene Wort ist nicht in der Wörterliste. Bitte versuche es erneut.");
				attempt--;
				continue;
			}

			if (guess.length() != secretWord.length()) {
				System.out.println("Das Wort muss genau " + secretWord.length() + " Buchstaben lang sein.");
				attempt--;
				continue;
			}

			if (guess.equals(secretWord)) {
				System.out.println("Glückwunsch! Du hast das Wort erraten.");
				break;
			} else {
				for (int i = 0; i < secretWord.length(); i++) {
					if (guess.charAt(i) == secretWord.charAt(i)) {
						System.out.print(guess.charAt(i) + " ");
					} else if (secretWord.contains(String.valueOf(guess.charAt(i)))) {
						System.out.print("? ");
					} else {
						System.out.print("_ ");
					}
				}
				System.out.println();
			}

			if (attempt == maxAttempts) {
				System.out.println("Leider hast du das Wort nicht erraten. Das richtige Wort war: " + secretWord);
			}
		}

		scanner.close();
	}

	private static Set<String> loadWordsFromFile(String filename) {
		Set<String> words = new HashSet<>();
		try {
			Scanner fileScanner = new Scanner(new File(filename));
			while (fileScanner.hasNextLine()) {
				words.add(fileScanner.nextLine().toLowerCase());
			}
			fileScanner.close();
		} catch (FileNotFoundException e) {
			System.out.println("Die Datei " + filename + " wurde nicht gefunden.");
		}
		return words;
	}
}


Wordle Java Variante 3: SUCHE ZUFÄLLIGES WORT MIT 5 BUCHSTABEN AUS

Demo Video

Java Source Code

package tests;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;

/**
 * Wordle Clone; Prompt 3: SUCHE ZUFÄLLIGES WORT MIT & BUCHSTABEN AUS
 */
public class WordleClone3 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		Set<String> allowedWords = loadWordsFromFile("words.txt");

		if (allowedWords.isEmpty()) {
			System.out.println("Fehler: Die Wörterliste konnte nicht geladen werden.");
			return;
		}

		int wordLength = 5; // Hier die gewünschte Wortlänge angeben
		String secretWord = getRandomWordWithLength(allowedWords, wordLength);

		if (secretWord == null) {
			System.out.println("Kein Wort mit " + wordLength + " Buchstaben gefunden.");
			return;
		}

		int maxAttempts = 6; // Maximale Anzahl von Versuchen

		System.out.println("Willkommen zum Wordle-Klon!");
		System.out.println("Errate das geheime Wort. Du hast " + maxAttempts + " Versuche.");

		for (int attempt = 1; attempt <= maxAttempts; attempt++) {
			System.out.print("Versuch " + attempt + ": ");
			String guess = scanner.nextLine().toLowerCase();

			if (!allowedWords.contains(guess)) {
				System.out.println("Das eingegebene Wort ist nicht in der Wörterliste. Bitte versuche es erneut.");
				attempt--;
				continue;
			}

			if (guess.length() != secretWord.length()) {
				System.out.println("Das Wort muss genau " + secretWord.length() + " Buchstaben lang sein.");
				attempt--;
				continue;
			}

			if (guess.equals(secretWord)) {
				System.out.println("Glückwunsch! Du hast das Wort erraten.");
				break;
			} else {
				for (int i = 0; i < secretWord.length(); i++) {
					if (guess.charAt(i) == secretWord.charAt(i)) {
						System.out.print(guess.charAt(i) + " ");
					} else if (secretWord.contains(String.valueOf(guess.charAt(i)))) {
						System.out.print("? ");
					} else {
						System.out.print("_ ");
					}
				}
				System.out.println();
			}

			if (attempt == maxAttempts) {
				System.out.println("Leider hast du das Wort nicht erraten. Das richtige Wort war: " + secretWord);
			}
		}

		scanner.close();
	}

	private static Set<String> loadWordsFromFile(String filename) {
		Set<String> words = new HashSet<>();
		try {
			Scanner fileScanner = new Scanner(new File(filename));
			while (fileScanner.hasNextLine()) {
				words.add(fileScanner.nextLine().toLowerCase());
			}
			fileScanner.close();
		} catch (FileNotFoundException e) {
			System.out.println("Die Datei " + filename + " wurde nicht gefunden.");
		}
		return words;
	}

	private static String getRandomWordWithLength(Set<String> words, int length) {
		List<String> wordsWithCorrectLength = new ArrayList<>();
		for (String word : words) {
			if (word.length() == length) {
				wordsWithCorrectLength.add(word);
			}
		}

		if (wordsWithCorrectLength.isEmpty()) {
			return null;
		}

		Random random = new Random();
		return wordsWithCorrectLength.get(random.nextInt(wordsWithCorrectLength.size()));
	}
}


Wordle Java Variante 4: nutze nur geheimworte, die den ersten buchstaben gross haben

Demo Video

Java Source Code

package tests;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;

/**
 * Wordle Clone; Prompt 4: nutze nur geheimworte, die den ersten buchstaben
 * gross haben #
 */
public class WordleClone4 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		Set<String> allowedWords = loadWordsFromFile("words.txt");

		if (allowedWords.isEmpty()) {
			System.out.println("Fehler: Die Wörterliste konnte nicht geladen werden.");
			return;
		}

		int wordLength = 5; // Hier die gewünschte Wortlänge angeben
		String secretWord = getRandomWordWithCapitalLetter(allowedWords, wordLength);

		if (secretWord == null) {
			System.out.println("Kein passendes Wort mit " + wordLength + " Buchstaben gefunden.");
			return;
		}

		int maxAttempts = 6; // Maximale Anzahl von Versuchen

		System.out.println("Willkommen zum Wordle-Klon!");
		System.out.println("Errate das geheime Wort. Du hast " + maxAttempts + " Versuche.");

		for (int attempt = 1; attempt <= maxAttempts; attempt++) {
			System.out.print("Versuch " + attempt + ": ");
			String guess = scanner.nextLine();

			if (!allowedWords.contains(guess.toLowerCase())) {
				System.out.println("Das eingegebene Wort ist nicht in der Wörterliste. Bitte versuche es erneut.");
				attempt--;
				continue;
			}

			if (guess.length() != secretWord.length()) {
				System.out.println("Das Wort muss genau " + secretWord.length() + " Buchstaben lang sein.");
				attempt--;
				continue;
			}

			if (guess.equalsIgnoreCase(secretWord)) {
				System.out.println("Glückwunsch! Du hast das Wort erraten.");
				break;
			} else {
				for (int i = 0; i < secretWord.length(); i++) {
					if (Character.toLowerCase(guess.charAt(i)) == Character.toLowerCase(secretWord.charAt(i))) {
						System.out.print(secretWord.charAt(i) + " ");
					} else if (secretWord.toLowerCase().contains(String.valueOf(guess.charAt(i)).toLowerCase())) {
						System.out.print("? ");
					} else {
						System.out.print("_ ");
					}
				}
				System.out.println();
			}

			if (attempt == maxAttempts) {
				System.out.println("Leider hast du das Wort nicht erraten. Das richtige Wort war: " + secretWord);
			}
		}

		scanner.close();
	}

	private static Set<String> loadWordsFromFile(String filename) {
		Set<String> words = new HashSet<>();
		try {
			Scanner fileScanner = new Scanner(new File(filename));
			while (fileScanner.hasNextLine()) {
				words.add(fileScanner.nextLine());
			}
			fileScanner.close();
		} catch (FileNotFoundException e) {
			System.out.println("Die Datei " + filename + " wurde nicht gefunden.");
		}
		return words;
	}

	private static String getRandomWordWithCapitalLetter(Set<String> words, int length) {
		List<String> wordsWithCorrectLengthAndCapital = new ArrayList<>();
		for (String word : words) {
			if (word.length() == length && Character.isUpperCase(word.charAt(0))) {
				wordsWithCorrectLengthAndCapital.add(word);
			}
		}

		if (wordsWithCorrectLengthAndCapital.isEmpty()) {
			return null;
		}

		Random random = new Random();
		return wordsWithCorrectLengthAndCapital.get(random.nextInt(wordsWithCorrectLengthAndCapital.size()));
	}
}

Wordle Java Variante 5: löse das ratespiel selbst

Demo Video

Java Source Code

package tests;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;

/**
 * Wordle Clone; Prompt 5: löse das ratespiel selbst
 */
public class WordleClone5 {

	public static void main(String[] args) {
		Set<String> allowedWords = loadWordsFromFile("words.txt");

		if (allowedWords.isEmpty()) {
			System.out.println("Fehler: Die Wörterliste konnte nicht geladen werden.");
			return;
		}

		int wordLength = 5; // Hier die gewünschte Wortlänge angeben
		String secretWord = getRandomWordWithCapitalLetter(allowedWords, wordLength);

		if (secretWord == null) {
			System.out.println("Kein passendes Wort mit " + wordLength + " Buchstaben gefunden.");
			return;
		}

		int maxAttempts = 6; // Maximale Anzahl von Versuchen

		System.out.println("Das geheime Wort ist gesetzt. Das Programm wird nun versuchen, es zu erraten.");

		for (int attempt = 1; attempt <= maxAttempts; attempt++) {
			String guess = getRandomWordWithCapitalLetter(allowedWords, wordLength);
			System.out.println("Versuch " + attempt + ": " + guess);

			if (guess.equalsIgnoreCase(secretWord)) {
				System.out.println("Das Programm hat das Wort erraten: " + secretWord);
				break;
			} else {
				System.out.print("Hinweise: ");
				for (int i = 0; i < secretWord.length(); i++) {
					if (Character.toLowerCase(guess.charAt(i)) == Character.toLowerCase(secretWord.charAt(i))) {
						System.out.print(secretWord.charAt(i) + " ");
					} else if (secretWord.toLowerCase().contains(String.valueOf(guess.charAt(i)).toLowerCase())) {
						System.out.print("? ");
					} else {
						System.out.print("_ ");
					}
				}
				System.out.println();
			}

			if (attempt == maxAttempts) {
				System.out.println("Das Programm konnte das Wort nicht erraten. Das richtige Wort war: " + secretWord);
			}
		}
	}

	private static Set<String> loadWordsFromFile(String filename) {
		Set<String> words = new HashSet<>();
		try {
			Scanner fileScanner = new Scanner(new File(filename));
			while (fileScanner.hasNextLine()) {
				words.add(fileScanner.nextLine());
			}
			fileScanner.close();
		} catch (FileNotFoundException e) {
			System.out.println("Die Datei " + filename + " wurde nicht gefunden.");
		}
		return words;
	}

	private static String getRandomWordWithCapitalLetter(Set<String> words, int length) {
		List<String> wordsWithCorrectLengthAndCapital = new ArrayList<>();
		for (String word : words) {
			if (word.length() == length && Character.isUpperCase(word.charAt(0))) {
				wordsWithCorrectLengthAndCapital.add(word);
			}
		}

		if (wordsWithCorrectLengthAndCapital.isEmpty()) {
			return null;
		}

		Random random = new Random();
		return wordsWithCorrectLengthAndCapital.get(random.nextInt(wordsWithCorrectLengthAndCapital.size()));
	}

}


Written on August 23, 2024