Помогите Проблема с кодом / Как узнать длину аргумента

  • Автор темы Автор темы fswr33
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

fswr33

Активный участник
Пользователь
Баллы
66
Java:
    public boolean onCommand(CommandSender sender, Command command, String alias, String[] args) {
        Player player = (Player) sender;
        if (alias.equalsIgnoreCase("ag")) {
            if (!player.hasPermission("ag.use")) {
                sender.sendMessage(prefix + "Нет прав");
                return true;
            }
            if (args.length == 0) {
                sender.sendMessage(prefix + "Пиши /ag <ник>");
                return true;
            }
            if (args.length() > 16) {
                sender.sendMessage(prefix + "Максимальный размер ника - 16 символов");
                return true;
            }...
О проблеме:
При таком коде если написать команду /ag без аргументов, то будет писать ошибку "An internal error occurred while attempting to perform this command", но если убрать проверку (args.length() > 16), то все работает нормально. Что делать?
 
else return false;
 
Попробуй написать
Код:
else if (args.length() > 16)
И еще можешь посмотреть лог в консоли, он может помочь
 
А как вы у массива вообще вызвали length()?
 
Ну так емое, у массива это переменная, а не метод. Скобки круглые не нужны.
 
Что за говно я сейчас прочитал? [x2]
Java:
    public boolean onCommand(CommandSender sender, Command command, String alias, String[] args) {
        Player player = (Player) sender;
        if (args.length == 0) {
            return false;
        }
        String str = args[0];
        if (str.length() > 16) {
            sender.sendMessage(prefix + "Максимальный размер ника - 16 символов");
            return true;
        }
        //...
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх