Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> java.lang.ArrayIndexOutOfBoundsException 
:(
    Опции темы
LoDark
  Дата 16.6.2011, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.6.2011

Репутация: нет
Всего: нет



Помогите пожалуйста:

Код

    private void Password(String s)
    {
        byte abyte0[] = null;
        byte abyte1[] = {97, 98, 99, 100, 101, 102};
        abyte0 = s.getBytes();
 
        for(int i = 0; i < 6; i++)
            if(abyte0[i] != abyte1[i] || s.length() != 6) //<= На этой строке выскакивает java.lang.ArrayIndexOutOfBoundsException
                destroyApp(true);
    }


Что не так?
P.S. пароль - abcdef
PM MAIL   Вверх
Mabramyan
Дата 16.6.2011, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 3.7.2007
Где: Алматы

Репутация: нет
Всего: нет



abyte0 получается короче чем 6 

s.length() != 6 
поставьте перед циклом


Это сообщение отредактировал(а) Mabramyan - 16.6.2011, 13:09
PM MAIL WWW   Вверх
LoDark
Дата 16.6.2011, 13:32 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.6.2011

Репутация: нет
Всего: нет



Mabramyan

Код

        if (s.length() != 6)
        {
            for (int i = 0; i < 6; i++)
            {
                if (abyte0[i] != abyte1[i])
                {
                    destroyApp(true);
                }
            }
        }


Так?
PM MAIL   Вверх
Mabramyan
Дата 16.6.2011, 14:33 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 3.7.2007
Где: Алматы

Репутация: нет
Всего: нет



if (s.length() != 6) нет
if (s.length() == 6)  да

а вообще я бы сделал:

Код


private void Password(String s)
     if (!Arrays.equals(abyte1, s.getBytes()) {
           destroyApp(true);
     }
}






PM MAIL WWW   Вверх
oxigen
Дата 16.6.2011, 17:28 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Так как вопрос находится в теме  Java ME (J2ME), то возможно класс Arrays не доступен.
PM MAIL   Вверх
LoDark
Дата 16.6.2011, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.6.2011

Репутация: нет
Всего: нет



Я так и не услышал нормального ответа  smile 
PM MAIL   Вверх
oxigen
Дата 17.6.2011, 10:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 12.4.2010

Репутация: 4
Всего: 4



Код

private void Password(String s) {
        if(s == null) {
            destroyApp(true);
            return;
        }
        byte []abyte1 = {97, 98, 99, 100, 101, 102};
        byte []abyte0 = s.getBytes();
        
        if(abyte0.length != abyte1.length) {
            destroyApp(true); //длина введенного пароля не совпала с заданым
        } else {
            for(int i = 0; i < abyte0.length; i++)
                if(abyte0[i] != abyte1[i] || s.length() != 6) 
                    destroyApp(true);
        }
    }

PM MAIL   Вверх
LoDark
Дата 17.6.2011, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.6.2011

Репутация: нет
Всего: нет



oxigen, спасибо  smile 

Это сообщение отредактировал(а) LoDark - 5.7.2011, 18:32
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0717 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.