static void nodes(String node) {
int node_location;
int i;
int update_i=1;
node_location=((node.indexOf("(("))-2);
ArrayList<String> node_array = new ArrayList<String>();
for( i=1;i<node_location;i++) {
if(node.charAt(i)!=',') {
if(node.charAt(i+1)==',' || node.charAt(i+1)==')')
node_array.add(Character.toString(node.charAt(i)));
else {
for(int a=i+2;a<=node.indexOf("),");a++) {
update_i++;
if(node.charAt(a)==',') {
node_array.add(node.substring(i, a));
break;
}
}
i=update_i;
}
}
}
}
此方法应该采用格式为的字符串(1,2,3,4,5)
并将数字(作为字符串)存储在数组列表中。问题是(1,2,333,4,5)
,例如,当我的 if 语句应该转到 else 并检查数字在到达逗号之前有多少位时。然后我把它的子字符串存储到我的数组列表中。问题是,由于某种原因,当我们到达 else 语句时,我的位置没有更新(我们必须增加比 for 循环的更多,因为数字不止一个位置。但是当我运行它时,我的程序打印出以下内容:
1
2
333
333
33
3
4
5