在我使用命令提示符编译它时构建一个刽子手游戏,它不起作用。关于"非法开始表达的一堆错误"显示它并没有运行。我已在下面附上我的代码供您审核。提前谢谢!
错误
以下是我得到的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();
}
}
}
}
}
答案 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来说不是有效值。
请更正此错误,如果您有进一步的麻烦,请回来。