Daniel Thoma: Wörter Raten

Beitrag lesen

Hallo Robin,

do
    {
      System.out.println(ratewort);
      char buchstabe=StdInput.readChar("Raten Sie das Wort! Buchstabe: ");
      for (int i=0;i<=laenge-1;i++)
      {
          if(buchstabe==wort.charAt(i))
          {
           ratewort.insert(int i, wort.charAt(i));
          }
        }
    }
    while (ratewort.toString().equals(wort));

ratewort füllst Du ja am Anfang mit *
Daher solltest Du Zeichen ersetzen, nicht einfügen.
Außerdem willst Du die while-Schleife ja abbrechen, wenn die Strings gleich sind, weshalb Du den Vergleich ja negieren musst.
Außerdem ist mir nicht ganz klar was Du mit dem Array rbuchstabe willst.

So habe ich mir das in etwas gedacht:

String wort="Lokomotive";
StringBuffer ratewort = new StringBuffer();

for(int i = 0; i < wort.length(); i++) {
  ratewort.append('*');
}

while(!ratewort.toString().equals(wort)) {

System.out.println(ratewort);
  char buchstabe=StdInput.readChar("Raten Sie das Wort! Buchstabe: ");

for(int i = 0; i < wort.length(); i++) {
    if(wort.charAt(i) == buchstabe) {
      ratewort.setCharAt(i, buchstabe);
    }
  }

}

System.out.println("Herzlichen Glückwunsch! Sie haben gewonnen!");

Grüße

Daniel