2017-01-28 4 views
-1

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

Это код:

String r = users.getListRatings(); 

    userHolder.tx_listratings.setText(" / " + getAverage(r) + "  \uD83C\uDF1F"); //crashes here: at com.example.juanpablo.coffee.UserListAdapter.getView(UserListAdapter.java:86) 


public int getAverage(String args) { 
    String a = args; 
    String[] x = a.split(""); 
    int add = 0; 
    for (int i = 1; i < x.length; i++) { 
     add = add + Integer.parseInt(x[i]); } 
    int average = add/a.length(); //crashes here: at com.example.juanpablo.coffee.UserListAdapter.getAverage(UserListAdapter.java:114) 
    return average; 
} 

Это крах: Java. lang.ArithmeticException: деление на ноль.

Пожалуйста, помогите мне, если можете, и если downvote, пожалуйста, объясните, почему, я новичок и нуждаюсь в улучшении. Спасибо.

+0

Это потому, что 'a' - пустая строка в этой точке. Самое простое исправление - добавить пустую проверку строки перед этим оператором – akash93

+0

, но почему это работает после шага? –

+0

что это со javascript? – t0mm13b

ответ

0

Я исправил это, изменив a.length() на i.