Aus String bestimmtes Zeichen herausfinden

Zettelkasten

Aktives Mitglied
Hallo!

Ich habe ein Galgenratenspiel programmiert, und jetzt habe ich das Problem, das mein Programm jeden Buchstaben einzeln braucht. Bei 10 Wörtern ist das ja kein Problem, aber das Spiel benötigt min. 50 Wörter, damit es richtig Spaß macht. Man müsste dass dan mit jedem Wort so machen:
Code:
if(Zufall == 32){
  // Haus
  Buchstabe[1] = "H";
  Buchstabe[2] = "A";
  Buchstabe[3] = "U";
  Buchstabe[4] = "S";
}
Um mir die Arbeit zu erleichtern wollte ich jetzt einen String Wortauswahl machen, in dem dann die ganzen Wörter stehen. Dann soll eine for-Schleife die einzelnen Zeichen in Buchstaben umwandeln, in etwa so:
Code:
String[] Wortauswahl {"Haus","Baum","Tier","usw."}
for(int i = 1;i <= Wortauswahl.getSize();i++)
{
  Buchstabe[i] = Wortauswahl[Zufall].getBuchstabe(i);
}
Das "getBuchstabe(i)" soll den Buchstaben mit der Nummer i herausschreiben und in den String Buchstabe packen.

Kann mir da jemand helfen?
 
Zuletzt bearbeitet:
Dein zweiter Code ist etwas merkwürdig. Du gehst mit der for-Schleife alle Wörter
aus dem String-Array durch, nutzt in der Schleife aber ein zufällig gewähltes Wort
aus der Liste und nimmst dann den Buchstaben des Wortes an der Stelle von der
Zählervariablen "i"????

Und zu ersterem Code geht vielleicht so einfacher:

Java:
char[] buchstaben = "HAUS".toCharArray();
 
Eclips gibt mir das immer als Fehlermeldung an:
Code:
Wortauswahl[Zufall].charAt(i);
 
Zuletzt bearbeitet:
Und Eclipse spricht genau das aus den Boxen: "Ja, du... ist falsch"?
Aber ich vermute mal, dass Wortauswahl bei dir ein String-Array ist, obwohl du da Char's speicherst.
 
1. Variablen schreibt man klein?

was brauchst du jetzt das Zeichen eines Strings an einer bestimmten Stelle? charAt .. liefert aber ein char.. mit +"" kann man es aber zu einem string machen...

Java:
for(int i = 0;i < 3;i++)
{
  Buchstabe[i] = Wortauswahl[Zufall].charAt(i);
}
das brauchst du gar nicht. du hast ja eh deien string aus dem array wortauswahl....
 
Oh, die Schleife muss so aussehen:
Java:
for(int i = 0; i < 13; i++)
{
  Buchstabe[i] = Wortauswahl[Zufall].charAt(i);
}
 
Ich weiß, aber ich will (fast) jedes Wort nehmen können, also auch welche mit 13 Buchstaben.

P.S.: Ich dachte mir, das dann automatisch "" als Zeichen genommen wird...
 
Also:
Ich habe belibig viele Wörter (Strings) und will von denen jetzt die einzelnen Buchstaben herauslesen. Also zum Beispiel so:
Code:
Wort: Haus
Buchstabe[1] = "H";
Buchstabe[2] = "A";
Buchstabe[3] = "U";
Buchstabe[4] = "S";
Ich könnte es auch so machen, aber da es ja "beliebig viele" Wörter sein können, geht das so (jeden falls nicht ohne großen Aufwand) nicht.
Also habe ich mir einen String Wortauswahl gemacht und will jetzt anhand einer for-Schleife (oder irgendwie anders) automatisch die Buchstaben übertragen lassen.
 
Dann ersetzt du eben dein Haus durch dein
Code:
wortauswahl[zufall]
... aber erst nach dem du die Variablen umbenannt hast, so dass die mit einem Kleinbuchstaben beginnen ...
 
Ah!
Jetzt habe ich das verstanden!!!!!!!! 😀 😀 😀
Aber eine Frage habe ich noch: Jetzt wird der erste Buchstabe von Haus, sprich H, als buchstabe[0] makiert. Wenn ich jetzt aber den ersten Buchstaben als buchstabe[1] usw. haben will, muss ich was tun?
 

Zurück
Oben