我需要编写一个循环遍历ArrayList<String>
pathClientStatic的方法,然后将某些元素复制到String[]
。
pathClientStatic是一个ArrayList
,包含一个时间戳x y
每个都用空格“”分隔,虽然元组的数量随着路径的长度而变化,但总会有一个元组。所以可能有时间戳x y时间戳x y时间戳x y或简单时间戳x y。
如果ArrayList
中有多对元组,即时间戳xy时间戳xy我想要的是复制数组中最后一对元组的xyxy,所以最后一个xy和倒数第二个xy,out和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;
}
虽然由于某种原因它并不总是拉出最后两个x对。例如,当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
我想这只是一个明显的错误,但是我一直在盯着/玩这段代码我现在只看到一片阴霾。
帮助表示赞赏。
答案 0 :(得分:0)
代码对我来说是正确的。你绝对肯定你的投入吗?
PS - 最好使用StringBuilder而不是data += ...
修改强>
现在我很肯定:如果您在列出的输入上运行此程序,您将获得137.0 137.0 28.0 45.0
。检查填充原始数组的代码。