Java hangman结束循环

时间:2017-04-02 12:06:58

标签: java

请帮助我,我需要知道如何结束这个循环三次。但是,如果你知道怎么告诉我,我一直在日夜工作。并且“守则”可能与你们同在!(星球大战)

import static Hello.Hangman.startGame;

import java.util.Scanner;
import java.util.Arrays;

public class Hangman {
    public static void main(String[] args) {
        Hangman game = new Hangman();
        Hangman.startGame();
    }


    public static void startGame() {
        Scanner Input = new Scanner(System.in);
        String first, reverse = "";
        String second, reverse2 = "";
        Scanner in = new Scanner(System.in);

        System.out.println("Welcome to Hangman!");
        System.out.println("Enter your first name.");
        first = in.nextLine();
        System.out.println("Enter your last name to play.");
        second = in.nextLine();

        int length = first.length();
        int length2 = second.length();
        for (int i = length - 1; i >= 0; i--)
            reverse = reverse + first.charAt(i);
        reverse = reverse.substring(0, 1).toUpperCase()++ reverse.substring(1).toLowerCase();
        for (int i = length2 - 1; i >= 0; i--)
            reverse2 = reverse2 + second.charAt(i);
        reverse2 = reverse2.substring(0, 1).toUpperCase() + reverse2.substring(1).toLowerCase();

        System.out.println("Your name entered in reverse    is: " + reverse + " " + reverse2);
        System.out.println("Press enter to continue:");
        in.nextLine();

        String[] CollectionOfWords =
                {"", "world", "about", "again", "heart", "pizza",
                        "earth", "stars", "light", "music", "party",
                        "seven", "three", "happy", "water", "amber",
                        "apple", "piano", "green", "mouth", "suger",
                        "stone", "japan", "china", "after", "smile",
                        "south", "house", "stake", "guess", "wrong",
                        "thing", "write", "white", "black", "lemon",
                        "anime", "stick", "outer", "input", "grand",
                        "lives", "twice", "print", "hangs", "woman",
                        "power", "today", "india", "night", "candy",
                        "puppy", "latin", "vegan", "phone", "april",
                        "forum", "birth", "other", "chris", "irish",
                        "paste", "queen", "grace", "crazy", "plant",
                        "knife", "spike", "darth", "vader", "eagle",
                        "egypt", "range", "fists", "fight", "glory",
                        "March", "smart", "magic", "codes", "rolls",
                        "match", "honor", "glass", "board", "teams",
                        "bully", "zebra", "under", "mango", "brain",
                        "dirty", "eight", "zeros", "train", "cycle",
                        "break", "necks", "terms", "slide", "large"};


        int randNumber = (int) Math.ceil(Math.random() * CollectionOfWords.length);
        int counter = 5;
        String radmWord = CollectionOfWords[randNumber];

        char[] genRadmLetter = radmWord.toCharArray();
        char[] genRadmLetter2 = radmWord.toCharArray();
        for (int x = 0; x < genRadmLetter.length; x++) {
            genRadmLetter[x] = '-';
        }

        System.out.println(String.valueOf(genRadmLetter));
        System.out.println("Hello" + " " + reverse + " " + reverse2 + " " + "guess a letter");
        char guessedLetter = Input.next().charAt(0);
        int RW = radmWord.indexOf(guessedLetter);

        if (RW >= 0) {

            genRadmLetter[RW] = guessedLetter;
            System.out.println(genRadmLetter);

        }

        if (RW == -1) {
            System.out.println("Wrong letter, try again.");
            counter = counter - 1;
            System.out.println("Lives left: " + counter);
        }

        while (counter != 0) {

            System.out.println("Guess a letter.");
            guessedLetter = Input.next().charAt(0);
            RW = radmWord.indexOf(guessedLetter);

            if (RW >= 0) {

                genRadmLetter[RW] = guessedLetter;
                System.out.println(genRadmLetter);


            }

            if (RW == -1) {
                System.out.println("Wrong letter, try again.");
                counter = counter - 1;
                System.out.println("Lives left: " + counter);
            }

            boolean result = Arrays.equals(genRadmLetter, genRadmLetter2);
            if (result == true) {

                return;
            }
            for (int i = 0; i < genRadmLetter.length; i++) {
                if (radmWord.charAt(i) == guessedLetter) {
                    genRadmLetter[i] = guessedLetter;
                    result = true;
                }
            }
            if (counter == 0) {
                break;
            }

        }

        if (counter == 0) {
            System.out.println("You lost. The word was: " + radmWord);
            playAgain();

            if (RW == 0)
                System.out.println("Well done, you have guessed the word.");
            System.out.println("Your final score is: " + counter);


        }
    }

    public static boolean playAgain() {

        while (true) {

            System.out.println("If you want to leave, type \"quit\"");
            System.out.println("If you want to play again,type\"yes\" ");

            Scanner input = new Scanner(System.in);
            String s = input.next();
            if (s.equals("quit")) {
                System.out.println("Thanks for playing the game!");
                System.exit(0);
            }
            if (s.equals("yes")) {

                String userInput = input.nextLine();
                userInput = userInput.toUpperCase();
                startGame();


            } else {

            }
        }
    }
} 

以下是完整代码:

var result = await "https://api.mysite.com"
.AppendPathSegment("person")
.SetQueryParams(new { a = 1, b = 2 })
.WithOAuthBearerToken("my_oauth_token")
.PostJsonAsync(new { first_name = "Frank", last_name = "Underwood" })
.ReceiveJson<T>();

2 个答案:

答案 0 :(得分:1)

代替

while (true) {

你可以有专柜

int count=0;
while (count<3) {
count++;

答案 1 :(得分:0)

你可以使用do while循环

      `int ch=0;
      do{if (s.equals("yes")) {
        String userInput = input.nextLine();
       userInput = userInput.toUpperCase();
        startGame();ch++; 
        }
    while(ch<3);`