我得到了一个几乎完整的代码(我下载了一个库)。我制作的代码应该允许用户一次输入1个大写字母的字母。我创建了一个while循环来检查输入的字符是否正常。问题是你可以"打破"代码,我猜是因为如果块连接?我会喜欢一些帮助。
import se.rosendalsgymnasiet.hangman.HangmanGameEngine;
import java.util.Scanner;
public class Thomas_Parker_hangman_1 {
public static void main(String[] args) {
String previousLetters = "";
HangmanGameEngine hangman = new HangmanGameEngine();
hangman.selectWord();
hangman.createStatusString();
while (!hangman.evaluateStatus(previousLetters)) {
char letter;
//Nedanstående metod saknar definition, det är din uppgift att skapa metoden
letter = guess(previousLetters);
previousLetters = previousLetters + String.valueOf(letter);
hangman.updateStatusString(letter);
}
System.out.println("Bravo, du lyckades finna rätt ord!");
}
/**
* Låter användaren skriva in bokstäver
*
* @param previousguesses De gissningar användaren prövat
* @return
*/
这就是我所做的以及我需要帮助的地方:
private static char guess(String previousguesses) {
Scanner keyboard = new Scanner(System.in);
String userguess = keyboard.next().toUpperCase();
char Charactercontroll;
Charactercontroll = userguess.charAt(0);
boolean Supercontroll = true;
while (Supercontroll = true) {
if (userguess.length() >= 2) {
System.out.println("Du får bara skriva en bokstav, försök igen!");
Supercontroll=true;
userguess = keyboard.next().toUpperCase();
} else if (previousguesses.contains(String.valueOf(userguess))) {
System.out.println("Du har redan gissat på denna bokstav, försök igen!");
Supercontroll=true;
userguess = keyboard.next().toUpperCase();
} else if (!Character.isLetter(Charactercontroll)) {
System.out.println("Detta är inte en bokstav, försök igen!");
Supercontroll=true;
userguess = keyboard.next().toUpperCase();
} else {
Supercontroll = false;
}
while (Supercontroll=false);
return userguess.charAt(0);
}
return userguess.charAt(0);
}
}