Java: пока разрывы цикла - PullRequest
0 голосов
/ 13 января 2012

Этот цикл прерывается, если раскомментировать 2 закомментированную строку, не может понять, почему это происходит, помогите plz:

private static String findAll(String cell, ArrayList<String> hrange, ArrayList<String> vrange, List<String> cellrange, Integer cycle){
        cellrange.add(cell);
        String color = XldocReader.xlCells.get(cell);
        String[] chkeys = cell.split("\\$");
        String chLetter = chkeys[1];
        Integer chNumber = Integer.parseInt(chkeys[2]);
        boolean rcnext = false;
        boolean rcprev = false;
        Iterator<String> ite = hrange.iterator();
        while ( ite.hasNext() ) {
            String candidate = ite.next();
            String value = XldocReader.xlCells.get(candidate);
            String[] ckeys = candidate.split("\\$");
            String cLetter = ckeys[1];
            int n = getKeyByValue(chLetter);

            String next = cell.replaceAll(chLetter+"", columns.get(n+1) +"");
            String cnext = XldocReader.xlCells.get(next);
            String prev = cell.replaceAll(chLetter+"", columns.get(n-1) +"");
            String cprev = XldocReader.xlCells.get(prev);
            //rcnext = cnext.equals(color);
            //rcprev = cprev.equals(color);
            ...
        }
        return cellrange.toString();
  }

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

Ответы [ 2 ]

0 голосов
/ 13 января 2012

Можете ли вы дать нам больше информации?В чем ошибка?Как это ломается?и т. д. Кроме того, распечатайте результаты color и cnext, cprev прямо перед тем, как они сломаются.

Я предполагаю, что это недопустимые строки.И вы пытаетесь запустить метод equals для чего-то, что не является допустимой строкой.

0 голосов
/ 13 января 2012

Я бы сделал цикл

for(String candidate : hrange) {

}

И я бы прошелся по коду в отладчике, чтобы точно увидеть, что он делает, так как я подозреваю, что ваша программа не делает то, что вы думаете.1004 *

Что вы подразумеваете под перерывами?Что такое исключение и по какой линии оно происходит?Это соответствует тому, что вы видите в отладчике?

Я подозреваю, что проблема в коде, который вы пометили как ...

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