Как сделать приращение массива String? - PullRequest
0 голосов
/ 04 марта 2012

Я запутался в этом, и я мог бы знать ответ.Как сделать приращение массива 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;}
    }

Я думаю, что мне нужно сделать цикл for, но я очень устал, и это уже давно меня озадачивало.Функция не завершена, поэтому не упоминайте, что я не использовал String commandLabel или CommandSender sender (извините, если это звучит грубо).Заранее спасибо!

PS Я не хочу устанавливать значение для String[] ticket_array, потому что количество сделанных билетов должно быть столько же, сколько было отправлено.

Ответы [ 2 ]

3 голосов
/ 04 марта 2012

Рассмотрите возможность использования экземпляра 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 голосов
/ 04 марта 2012

Я не уверен, правильно ли я понимаю ваш вопрос, но мне кажется, что вы хотите получать доступ к более высокому индексу массива каждый раз, когда вызывается функция.Если это так, то вы можете рассмотреть возможность использования статической переменной счетчика.это должно быть определено вне области действия функции, но его можно увеличить во время вызова функции

static int arrayCounter = 0;

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

, затем использовать

ticket_array[arrayCounter];

для доступа к нужному индексу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...