2014-10-21 59 views
-1

該行public static String guessColor(Scanner keyboard)是我的錯誤所在。 錯誤如下:表達式的非法開始:在公開和靜態。錯誤:';'預期:在String和guessColor之間。錯誤';'預計:在掃描儀和鍵盤之間。非法開始表達:at)在那一行。在我的ESP遊戲方法中表達式的非法開始

public class RichardsonESPGame 
{     
public static void main(String[] args) 
    { 
    String random; 
    String guess;   
    Scanner keyboard = new Scanner(System.in);   

    random = computerColor(); 
    guess = guessColor(keyboard);   
    String end = recordGame(random, guess); 
    System.out.println(end); 

    keyboard.close(); 
    } 
/** 
In this method the color choices will be displayed. 
*/   
public static String computerColor() 
    {  
    Random rand = new Random(); 
    int color = rand.nextInt(5) + 1; 
    return receiveColor(color); 
    }  


/** 
This method will give the computer and user its color options. 
*/ 
public static String receiveColor(int color) 
{ 
    String selection; 
    switch (color) 
    { 
     case 1: 
     selection = "Red"; 
     break; 
     case 2: 
     selection = "Blue"; 
     break; 
     case 3: 
     selection = "Green"; 
     break; 
     case 4: 
     selection = "Yellow"; 
     break; 
     case 5: 
     selection = "Orange"; 
     break; 
     default: 
     System.out.println("Make a valid selection."); 
     selection = null; 
    } 
    return selection; 

/** 
This method will get the user's color choice. 
*/ 
public static String guessColor(Scanner keyboard) 
    { 
    System.out.println("Enter a number from 1 to 5 to receive a color.\n 1 is Red\n 2 is Blue\n 3 is Green\n 4 is Yellow\n 5 is Orange\n"); 
    int richardsonGuessColor = keyboard.nextInt(); 
    String color = receiveColor(richardsonGuessColor); 

    while (color == null) 
    { 
     System.out.println("Enter a number from 1 to 5 to receive a color.\n 1 is Red\n 2 is Blue\n 3 is Green\n 4 is Yellow\n 5 is Orange\n"); 
     int guess = keyboard.nextInt(); 
     color = receiveColor(richardsonGuessColor); 
    } 

    return color;   
    } 

/** 
This method will determine if user guesses correctly. 
*/ 

public static String recordGame(String richardsonComputerColor, String richardsonGuessColor) 
    { 

    String end; 
    end = "The computer's choice was: " + richardsonComputerColor; 
    end += "Your choice was: " + richardsonGuessColor; 

     if(richardsonGuessColor.equalsIgnoreCase("Red")) 
     { 
       if (richardsonComputerColor.equalsIgnoreCase("Red")) 
       { 
       end += "You guessed correctly!"; 
       }  
       else 
       { 
       result += "You guessed incorrectly."; 
       } 
     } 

     else if(richardsonGuessColor.equalsIgnoreCase("Blue")) 
      { 
        if (richardsonComputerColor.equalsIgnoreCase("Blue")) 
       { 
        end += "You guessed correctly!"; 
       }  
       else 
       { 
        result += "You guessed incorrectly."; 
       } 
      } 

     else if(richardsonGuessColor.equalsIgnoreCase("Green")) 
      { 
        if (richardsonComputerColor.equalsIgnoreCase("Green")) 
       { 
        end += "You guessed correctly!"; 
       }  
       else 
       { 
        result += "You guessed incorrectly."; 
       } 
      } 
    else if(richardsonGuessColor.equalsIgnoreCase("Yellow")) 
      { 
        if (richardsonComputerColor.equalsIgnoreCase("Yellow")) 
       { 
        end += "You guessed correctly!"; 
       }  
       else 
       { 
        result += "You guessed incorrectly."; 
       } 
     } 
    else if(richardsonGuessColor.equalsIgnoreCase("Orange")) 
      { 
        if (richardsonComputerColor.equalsIgnoreCase("Orange")) 
       { 
        end += "You guessed correctly!"; 
       }  
       else 
       { 
        result += "You guessed incorrectly."; 
       } 
      }  
    return end; 
    } 

} 

回答

0

發生這種情況的原因是您從未在前面的方法中做出最終右括號。要修復它,您需要添加的所有內容都是recieveColor方法返回語句後的右括號