2016-10-25 41 views
0

我想爲未來的作品創建一個庫,作爲作業的一部分,而且我已經完成了大部分工作,但是我無法弄清楚如何從用戶輸入的數組中創建基於控制檯的菜單。爲了澄清,我沒有要求答案,因爲我幾乎沒有開始,但我想要的是一個好的開始位置,就像一個命令或我可以使用的東西。我將pos`/** *使用選項中的字符串作爲菜單 *項目生成基於控制檯的菜單。當withQuit爲true時,保留「退出」選項的數字0。 * *參數選項 * - 表示菜單選項字符串 * @參數withQuit * - 增加了選項0「跳槽」時,真正的 * @返回選擇由用戶做出的INT */如何從數組中創建基於控制檯的菜單?

public static int promptForMenuSelection(String[] options, boolean withQuit) { 

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 

    String. 
}` 

對不起,如果上面的代碼的要求很難閱讀。請幫忙,這是作業中最後兩項任務之一,我已準備好完成任務。

謝謝。

回答

1

當您檢查用戶輸入的內容時,可以將其與數組的索引進行匹配。例如:

// Scanner for user input: 
Scanner scanner = new Scanner(System.in); 

// Gets the index (Surround with try/catch to prevent errors) 
int userRequest = Integer.ParseInt(scanner.nextLine()); 

if(withQuit && userRequest == 0) 
    return // Whatever value you want to return here on quit; 

if(userRequest - 1 > options.length) 
    return // Whatever value you want to return when the request is out of range; 

for(int i = 0; i < options.length; i++) 
    if(options[i] == userRequest - 1) 
      return i; // Returns the option index 

既然你試圖返回一個整數,我假設你不會關心數組中的值。但是,如果你這樣做,只需設置返回語句爲:

return options[i]; 

並返回設置爲字符串,而不是函數標頭中的int。

+0

謝謝,我會試一試。我不會說謊,我不完全理解這一切,但因爲我是一名視覺學習者,所以我可能會這樣做。再次感謝。 –

相關問題