java - hangman game编译错误

时间:2017-05-19 06:45:24

标签: java

在我使用命令提示符编译它时构建一个刽子手游戏,它不起作用。关于"非法开始表达的一堆错误"显示它并没有运行。我已在下面附上我的代码供您审核。提前谢谢!

  

错误

以下是我得到的15个错误,让我不知道问题是什么。

Hangman.java:62: error: illegal start of expression
                                public static void printArray(char[]array) {
                                ^
Hangman.java:62: error: illegal start of expression
                                public static void printArray(char[]array) {
                                       ^
Hangman.java:62: error: ';' expected
                                public static void printArray(char[]array) {
                                             ^
Hangman.java:62: error: '.class' expected
                                public static void printArray(char[]array) {
                                                                    ^
Hangman.java:62: error: ';' expected
                                public static void printArray(char[]array) {
                                                                         ^
Hangman.java:68: error: illegal start of expression
                                public static boolean didYouGuess(char[] array){
                                ^
Hangman.java:68: error: illegal start of expression
                                public static boolean didYouGuess(char[] array){
                                       ^
Hangman.java:68: error: ';' expected
                                public static boolean didYouGuess(char[] array){
                                             ^
Hangman.java:68: error: '.class' expected
                                public static boolean didYouGuess(char[] array){
                                                                         ^
Hangman.java:68: error: ';' expected
                                public static boolean didYouGuess(char[] array){
                                                                              ^
Hangman.java:76: error: empty character literal
                                        char [][] Hangman= {{'(',' ',')'},{'\\','|','/'},{' ','|',''},{'/','|','\\'}};
                                                                                                  ^
Hangman.java:76: error: unclosed character literal
                                        char [][] Hangman= {{'(',' ',')'},{'\\','|','/'},{' ','|',''},{'/','|','\\'}};
                                                                                                   ^
Hangman.java:76: error: <identifier> expected
                                        char [][] Hangman= {{'(',' ',')'},{'\\','|','/'},{' ','|',''},{'/','|','\\'}};
                                                                                                      ^
Hangman.java:76: error: not a statement
                                        char [][] Hangman= {{'(',' ',')'},{'\\','|','/'},{' ','|',''},{'/','|','\\'}};
                                                                                                       ^
Hangman.java:76: error: ';' expected
                                        char [][] Hangman= {{'(',' ',')'},{'\\','|','/'},{' ','|',''},{'/','|','\\'}};
                                                                                                          ^
15 errors
  

Hangman.java

import java.util.Scanner;
import java.util.Random;

public class Hangman{
    public static void main(String[]args) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        String[] guesses = {"java", "html", "lowercase", " state","drunk"};

        boolean playing = true;
        while (playing) {
            System.out.println(" Are you ready to play Hangman?");// c,a,l,i,f,o,r,n,i,a
            char[] guessWord = guesses [random.nextInt(guesses.length)] .toCharArray();
            int numberOfGuesses = guessWord.length; //100
            char[] yourGuess = new char[numberOfGuesses]; // _ _ _ _

            for (int i = 0; i < yourGuess.length; i++){
                yourGuess[i] = '_';


        boolean rightGuess = false;
        int tries = 0;

        while (!rightGuess && tries != numberOfGuesses) {
            System.out.print("Current guesses: ");
            printArray(yourGuess);
            System.out.printf("you have %d tries left.\n", numberOfGuesses - tries);
            System.out.println("Enter a single character");
            char input = scanner.nextLine().charAt(0); 
            tries++;

            if (input== '-'){
                playing = false;
                rightGuess = true;
            } else{
                    for (int i = 0; i < guessWord.length; i++){
                        if (guessWord[i] == input) {
                            yourGuess[i] = input;

                        }
                    }

                    if (didYouGuess(yourGuess)){
                        rightGuess = true;
                        System.out.println("Congratulations you won!");
                    }
                }
            }
            if (!rightGuess) System.out.println("you ran out of guesses :/");
            System.out.println("Do you want to play another game? (yes/no)");
            String anotherGame = scanner.nextLine();
            if (anotherGame.equals("no"))  playing = false; 


                        System.out.println("Game Over.");


                public static void printArray(char[]array) {
                    for (int i = 0; i <array.length; i++){
                        System.out.print(array[i] + " ");
                    }
                    System.out.println();
                }
                public static boolean didYouGuess(char[] array){
                    for(int i = 0; i< array.length; i++){
                        if (array[i] == '_') return false;
                    }
                    return true;

                    {
                    Scanner input = new Scanner(System.in);
                    char [][] Hangman= {{'(',' ',')'},{'\\','|','/'},{' ','|',''},{'/','|','\\'}};

                    for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                    Hangman[3][0]= ' ';
                        for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                    Hangman[3][1] = ' ';
                            for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                        Hangman[3][2] = ' ';    
                                    for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                        Hangman[2][1] = ' ';
                                    for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                        Hangman[1][0] = ' ';
                                    for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                        Hangman[1][1] = ' ';
                                    for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                        Hangman[1][2] = ' ';
                                    for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                        Hangman[0][0] = ' ';
                                    for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }
                        Hangman[0][2] = ' ';
                                    for(int row = 0; row < Hangman.length;row++)
                    {
                        for(int col = 0; col < Hangman[row].length;col++)
                        {
                            System.out.print(Hangman[row][col]);
                        }
                        System.out.println();
                    }

                    }


                }       
        }           
    }

1 个答案:

答案 0 :(得分:0)

1)问题:方法不能嵌套,因此请从代码中删除它们并添加它们,如

public static void printArray(char[] array) {
    for (int i = 0; i < array.length; i++) {
        System.out.print(array[i] + " ");
    }
    System.out.println();
}

public static boolean didYouGuess(char[] array) {
    for (int i = 0; i < array.length; i++) {
        if (array[i] == '_') return false;
    }
    return true;
}

public static void main(String[] args) {

2)问题:在数组初始化

char [][] Hangman= {{'(',' ',')'},{'\\','|','/'},{' ','|',''},{'/','|','\\'}};

有一个字符''。这对于char来说不是有效值。

请更正此错误,如果您有进一步的麻烦,请回来。