
Das mit den 20 vordef. Wörtern vergessen wir mal. Ich habe drei Wörter das langt.
Hier ist mein Code bisher:
Java:
public static void main(String[] args)
{
// Zahl zw. 0 und 1 erzeugen für Array-Index
int zahl = (int) (Math.random()*3);
int wortLaenge;
int counter = 0;
String rateWort="";
char rateBuchstabe = ' ';
Scanner sc = new Scanner(System.in);
// Array besteht aus 2 Wörtern
String[] woerter = new String[3];
// wie 20 verschiedene Wörter erzeugen?
woerter[0] = "Programmiersprache";
woerter[1] = "Testprogramme";
woerter[2] = "Informatik";
// System.out.println(woerter[zahl]) // Länge des gesuchten Wortes
int anzeige = woerter[zahl].length();
for (int i = 0; i < anzeige; i++)
{
rateWort += "_ ";
}
// Umwandeln String to char-array
char[] chars = rateWort.toCharArray();
char[] chars_ = woerter[zahl].toCharArray();
System.out.println("Buchstabe eingeben: ");
System.out.println(rateWort);
for (int i = 0; i < 15; i++)
{
rateBuchstabe = sc.nextLine().charAt(0);
}
Mein Problem ist jetzt: Nehmen wir an, das Wort Testprogramme wurde ausgewählt
Wie muss ich jetzt in der for-Schleife vorgehen, um die oben beschriebene Vorgehensweise umzusetzen?
► Nutzer liest Buchstabe ein. Es soll laut Aufgabenstellung egal sein, ob er groß M oder klein m eingibt
► Dann eingegebenen Buchstaben mit gesuchtem Wort vergleichen, wo sind die Stellen (Indexe) in dem gesuchten Wort, wo der eingegebene Buchstabe alles vorkommt? D. h. ich muss deren Indexe ermitteln, so würde zumindest ich vorgehen.
► Habe ich diese, müssen in dem char array rateWort dass bislang aus _ _ _ _ _ _ _ ... besteht die Buchstaben ersetzt werden die erraten wurden.
► Solange bis alle Buchstaben erraten wurden oder das Spiel nach 15-Fehl Versuchen endet.
Sorry, aber ich bin hier als Programmier-Einsteiger echt überfragt. Kann mir jemand hier bitte weiterhelfen, wie ich dies Umsetzen kann.
Nicht erlaubt sind Array_Listen, doppelte Arrays... Es sind einzig char-arrays, String-arrays, String-Methoden und Character.Methoden erlaubt.
Sonst nichts.
Meine Idee wäre die String-Methoden equalsIgnoreCase(String s) indexOF(String s) resplace(old, new) toCharArray() contains(string)
substring(int beginIndex, int endIndex) zu verwenden, allerdings funktionieren diese bei einem char-array anscheinend gar nicht.
Zuletzt bearbeitet von einem Moderator: