Ich möchte es so machen, dass jedes Mal hiddenWord();
aufgerufen wird, zeigt es einen Hinweis des Wortes abhängig von den vermuteten Buchstaben, die versucht wurden, so ohne Vermutungen werden Sie so etwas bekommen "____"
und wenn das Wort zum Beispiel Mike und ich vermuteten, ich 'und' e 'würde "_i_e"
zeigen. Ich bin schon eine ganze Weile dabei und ich kann mich einfach nicht darum kümmern. Ich bin immer noch ein Neuling, es tut mir so leid im Voraus, wenn das Problem etwas sehr Einfaches war.Versuchen, eine Methode zu machen, die die erratenen Buchstaben für das Spiel Hang Man (Java) zeigt
Ich poste die Methode, die ich versuche, ohne den Rest des Programms zu machen, wenn nötig kann ich den Rest buchen. Ich habe zwei Hauptprobleme mit dieser Methode.
1- Ich brauche this.guessedLetter
haben mindestens 3 Zeichen darin, so in seinem aktuellen Zustand, der ist "" es wird nicht funktionieren. Deshalb haben wir darunter 3 Felder hinzugefügt. Sonst bekomme ich einen Indexfehler, den ich nicht verstehe.
2- Die zweite Frage ist, wie man die "_"
richtig verteilen, wenn ich den Buchstaben nicht finde, ich scheine viel zu viele Bindestriche zu tun.
public String hiddenWord() {
int i = 1;
int j = 1;
this.guessedLetters += " ";
char c = this.word.charAt(i);
char d = this.guessedLetters.charAt(j);
while (i <= this.guessedLetters.length()-1) {
while (j <= this.word.length()-1) {
if (c == d) {
this.hiddenWord += c;
j++;
}
else {
this.hiddenWord += "_";
j++;
}
}
i++;
}
return this.hiddenWord;
}
}
1. Die Indizes bei 0, nicht 1. 2. Sie müssen zurückgesetzt j für jede Iteration von i beginnen soll. 3. c muss nachgeschlagen werden, wenn ich mich verändere, und ebenso d, wenn sich j ändert. Sie werden nur von den Werten von i und j zum Zeitpunkt der Zuweisung betroffen sein. 4. Sie sollten über die Länge des Wortes in der äußeren Schleife und die erratenen Buchstaben in der inneren Schleife iterieren. 5. Sie könnten wahrscheinlich eine alternative Lösung mit den Funktionen string replace() oder replaceAll() finden – samgak
Ein Benutzer kann immer nur einen Buchstaben erraten. – Dummy
Ja. Nur 1 Buchstabe gleichzeitig. – Budaika