Цикл списка массивов Java и возврат String [] выбранных пар элементов - PullRequest
0 голосов
/ 11 февраля 2011

Мне нужно написать метод, который перебирает ArrayList<String> pathClientStatic и затем копирует определенные элементы в String[].

pathClientStatic - это ArrayList, содержащий строку метки времени x y

Каждый разделен пробелом "", и всегда будет кортеж, хотя количество кортежей зависит от длины пути. Так что может быть временная метка x y временная метка x y временная метка x y или просто временная метка x y.

Если в ArrayList имеется более пары кортежей, то есть временная метка xy временная метка xy, я хочу скопировать xyxy последней пары кортежей в массиве, поэтому самый последний xy и предпоследний xy, и в String[]. На данный момент у меня есть код ниже;

    public static String[] returnLastFour()
    {
    String data = "";
    int pathSize = pathClientStatic.size();
    if (pathSize > 6)
    {
        data += pathClientStatic.get(pathClientStatic.size()-5) + " ";
        data += pathClientStatic.get(pathClientStatic.size()-4) + " ";
        data += pathClientStatic.get(pathClientStatic.size()-2) + " ";
        data += pathClientStatic.get(pathClientStatic.size()-1);
    }
    else 
    {
        data += "nothing";
    }
    data.trim();
    String[] lastFour = data.split(" ");
    return lastFour;
    }

Хотя по некоторым причинам он не всегда вытаскивает последние две пары х у. Например, когда ArrayList содержит;

15: 29: 20,841 137,0 137,0 15: 29: 20,841 137,0 137,0 15: 29: 20,841 28,0 45,0

То, чем я хочу закончить String[], это;

137,0 137,0 28,0 45,0

Но вместо этого я получаю;

137,0 137,0 137,0 45,0

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

Помощь оценена.

1 Ответ

0 голосов
/ 11 февраля 2011

Код выглядит правильно для меня.Вы абсолютно уверены в своих входах?

PS - Лучше использовать StringBuilder вместо data += ...

Edit

Теперь яположительный: вы получите 137.0 137.0 28.0 45.0, если вы запустите эту программу на входе, который вы перечислили.Проверьте код, который заполняет ваш исходный массив.

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