powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Непонятный глюк при выполении программы
6 сообщений из 6, страница 1 из 1
Непонятный глюк при выполении программы
    #38720243
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сижу уже час и не могу понять проблему:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
            
                String sBarCode1 ="5943001247102";

                Log.d("", "length=" + sBarCode1.length()); // Вывод: 13
                Log.d("", "dig=" + sBarCode1.substring(0)); // Вывод: 5943001247102
                Log.d("", "dig=" + sBarCode1.substring(1)); // Вывод: 943001247102
                Log.d("", "dig=" + sBarCode1.substring(2)); // Вывод: 43001247102

                Log.d("", "dig1=" + sBarCode1.substring(0, 1)); // Вывод: 5
                Log.d("", "dig2=" + sBarCode1.substring(1, 1)); // Вывод: 
                Log.d("", "dig3=" + sBarCode1.substring(2, 1)); // а тут возникает ошибка
...
Рейтинг: 0 / 0
Непонятный глюк при выполении программы
    #38720275
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола Питерский, и скрыл текст ошибки... Её текст там, левее и ниже.

Хотя, потрясу шаром на то, что чтение документации нынче не модно.

Код: plaintext
1.
2.
 Throws 
IndexOutOfBoundsException
if start < 0,  start > end  or end > length().

Т.е. 2 > 1
...
Рейтинг: 0 / 0
Непонятный глюк при выполении программы
    #38720342
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочешь сказать что 2 > 13 поэтому и ошибка? :)

А что ты скажешь на счет этого листинга ошибки:

08-14 10:54:41.074 1240-1240/com.(вырезал) D/AndroidRuntime﹕ Shutting down VM
08-14 10:54:41.074 1240-1240/com.(вырезал) W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb5f254f0)
08-14 10:54:41.094 1240-1240/com.(вырезал) E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:2144)
at android.view.View.performClick(View.java:2485)
at android.view.View$PerformClick.run(View.java:9080)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at android.view.View$1.onClick(View.java:2139)
            at android.view.View.performClick(View.java:2485)
            at android.view.View$PerformClick.run(View.java:9080)
            at android.os.Handler.handleCallback(Handler.java:587)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3683)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
            at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.StringIndexOutOfBoundsException
at java.lang.String.substring(String.java:1651)
at com.profiserv.pricechecker.pricechecker.TestCam.EAN_scan(TestCam.java:273)
at com.profiserv.pricechecker.pricechecker.TestCam.OnClick(TestCam.java:86)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at android.view.View$1.onClick(View.java:2139)
            at android.view.View.performClick(View.java:2485)
            at android.view.View$PerformClick.run(View.java:9080)
            at android.os.Handler.handleCallback(Handler.java:587)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3683)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
            at dalvik.system.NativeStart.main(Native Method)
...
Рейтинг: 0 / 0
Непонятный глюк при выполении программы
    #38720348
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийХочешь сказать что 2 > 13 поэтому и ошибка? :)
Хочу сказать, что нельзя выбрать символы со второго по первый. Второй аргумент - это не количество выбираемых символов, а позиция, по которую происходит выборка.
Намек про документацию видимо был не замечен...

Микола ПитерскийА что ты скажешь на счет этого листинга ошибки:
Это что, викторина? Хочешь чтоб помогли, показывай всю информацию.
...
Рейтинг: 0 / 0
Непонятный глюк при выполении программы
    #38720364
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanМикола ПитерскийХочешь сказать что 2 > 13 поэтому и ошибка? :)
Хочу сказать, что нельзя выбрать символы со второго по первый. Второй аргумент - это не количество выбираемых символов, а позиция, по которую происходит выборка.
Намек про документацию видимо был не замечен...


Намек - то был замечен! Вот из документации:
String substring(int n, int m) – извлечение из строки подстроки длины m-n, начиная с позиции n. Нумерация символов в строке начинается с нуля;

Только теперь понял что должно быть так для длины символа(1):
Log.d("", "dig1=" + sBarCode1.substring(0, 1));
Log.d("", "dig2=" + sBarCode1.substring(1, 2));
Log.d("", "dig3=" + sBarCode1.substring(2, 3));

Спасибо - извините за беспокойство -просто у всех других языках надо было указывать во втором пар-ре 1.
...
Рейтинг: 0 / 0
Непонятный глюк при выполении программы
    #38720369
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийВот из документации:
String substring(int n, int m) – извлечение из строки подстроки длины m-n, начиная с позиции n. Нумерация символов в строке начинается с нуля;
Это не документация, а вольный (и кривой) перевод.

Код: plaintext
1.
2.
3.
4.
 Parameters 
 start  the offset of the first character.      // смещение (позиция) первого символа
 end    the offset one past the last character. // смещение (позиция) следующего за последним символом
 Returns 
a new string containing the characters from start to end - 1 // новая строка, содержащая символы со start по end - 1
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Непонятный глюк при выполении программы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]