试图限制hangman的输入选项

时间:2018-01-30 13:16:53

标签: java if-statement while-loop

我得到了一个几乎完整的代码(我下载了一个库)。我制作的代码应该允许用户一次输入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);


}

}

0 个答案:

没有答案