2012-03-04 66 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]; 

访问所需的索引