2012-03-04 46 views
0

我越來越混亂,我可能知道答案。每次調用此函數時,如何使我的String[]數組增量增加? 下面是函數代碼:如何創建一個字符串數組增量?

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){ 

     //The /ticket command 
     if(cmd.getName().equalsIgnoreCase("ticket")){ 
      //Gets amount of arguments 
      int size_of_args = args.length; 

      String ticket = null; 
      String[] ticket_array; 

      //Puts ticket into one string to be stored. 
      for (int i=0; i<=size_of_args; i++){ 
       ticket = ticket + args[i]; 
      } 


      return true; 

      } else {return false;} 
    } 

我想我必須爲循環做了,但我很疲憊,這已被絆倒了我相當長一段時間。該功能不完整,所以不要提及我沒有使用String commandLabelCommandSender sender(對不起,如果這聽起來粗魯)。提前致謝!

P.S.我不想爲String[] ticket_array設置一個值,因爲發出的票數應與發送的票數一樣多。

+0

你是什麼意思「遞增」數組? – jacobm 2012-03-04 04:38:51

+0

@jacobm對不起我的清晰度。我的意思是增加存儲「票據」的值。所以第一次這個函數/方法被稱爲'ticket_array [0] = ticket;'第二次'ticket_array [1] = ticket;'等等。 – VinylScratch 2012-03-04 04:40:49

回答

3

考慮將List實例用作類成員,這樣,您不必擔心有關大小,例如:

List<String> commandList = new ArrayList<String>(50); 

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){ 
    //The ticket command 
    if(cmd.getName().equalsIgnoreCase("ticket")){ 
     String ticket = ""; 
     // ommiting 
     commandList.add(ticket); 
     return true; 
    } 
    else { 
     return false; 
    } 
} 
+0

我是這個概念的新手,這個怎麼做?在將來訪問它(就像你用'ticket_array [10];'訪問一個字符串)? – VinylScratch 2012-03-04 04:42:44

+1

那麼,去這裏:http://docs.oracle.com/javase/tutorial/collections/interfaces/list.html – MByD 2012-03-04 04:43:17

+0

我看不懂。我對Java很陌生。我是文盲:D – VinylScratch 2012-03-04 04:47:20

0

我不知道如果我正確理解你的問題,但像你想在每次調用函數時訪問數組的索引高它的聲音給我。如果是這種情況,那麼你可能要考慮使用靜態計數器變量。這將必須的功能範圍之外的定義,但它可以在函數調用

static int arrayCounter = 0; 

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel,   String[] args){ 
    //The ticket command  
    arrayCounter++; 
    . 
    . 
    . 
} 

期間遞增然後用

ticket_array[arrayCounter]; 

訪問所需的索引

相關問題