2015-03-30 92 views
0

這是一個相當基本的問題 我正在製作一個遊戲,其中會有兩個玩家。遊戲開始於主菜單,玩家可以選擇開始遊戲,輸入玩家詳細信息或退出。如何使用任何函數中的返回值

2個函數分別輸入兩個玩家的名字(因爲一個函數只能返回值),並將這兩個值返回到遊戲的主菜單,在整個遊戲中使用這個名稱。這是我的代碼到目前爲止:

import java.io.*; 
class AQADO 
{ 
    InputStreamReader isr = new InputStreamReader (System.in); 
    BufferedReader br = new BufferedReader (isr); 


    String Player1,Player2; 
void main()throws IOException 
{ 
    System.out.println("--------------------------------------------------------------AQADO DICE GAME--------------------------------------------------------------\n\n\n"); 
    MainMenu(); 
} 


void MainMenu()throws IOException 
{ 
    System.out.println("Please enter your choice\n\n"); 
    System.out.println("1. Enter Player Names"); 
    System.out.println("2. Play Game"); 
    System.out.println("3. Quit\n"); 




    String MenuChoice = br.readLine(); 
    if(MenuChoice.equals("1")) 
    { 
     Player1Details(); 
     System.out.println("\nPlayer 1, you are called " + Player1 + "\n"); 
     Player2Details(); 
     System.out.println("\nPlayer 2, you are called " + Player2 + "\n\n"); 
     MainMenu(); 

    } 
    else if (MenuChoice.equals("2")) 
    { 
     GameExe(); 
    } 
    else if (MenuChoice.equals("3")) 
    { 
     System.out.println("----------------------------------------------------------THE END---------------------------------------------------------"); 
    } 
    else 
    { 
     System.out.println("\n\nSorry, couldn't get that.....\n\n"); 
     MainMenu(); 



    } 
} 

String Player1Details()throws IOException 
{ 
    System.out.println("Player 1, please enter your name....\n"); 
    String Player1 = br.readLine(); 
    if (Player1.equals("")) 
    { 
     Player1 = "Player 1"; 
    } 

    return Player1; 


} 

String Player2Details()throws IOException 
{ 
    System.out.println("Player 2, please enter your name....\n"); 
    String Player2 = br.readLine(); 
    if (Player2.equals("")) 
    { 
     Player2 = "Player 2"; 
    } 

    return Player2; 




} 

你能幫助我,因爲兩個玩家的名字都被返回爲'null'。

回答

0

你不存儲從Player1Details()Player2Details()任何地方的值。使用以下內容。

Player1 = Player1Details(); 
Player2 = Player2Details(); 

您可能還需要設置Player1Player2""當你聲明它們,以避免任何可能的NullPointerException異常。

相關問題