【发布时间】:2015-05-22 13:29:02
【问题描述】:
大家好,我目前正在尝试将字符串反向转换为 arrayList,然后删除任何尾随零 例如 "001203" 转换为 (3,0.2,1,0,0) 然后 (3,0,2,1)
我的代码目前是
public convert(String nums) {
List = new ArrayList<Integer>(); // create arraylist
for (int i = nums.length(); i >= 0; i--) { //convert to int
int j = Integer.parseInt(digits);
List .add(j);
for (Iterator<Integer> k = List .iterator(); k.hasNext();) { //remove trailing zeros
if (k.next().equals(0)) {
k.remove();
}
}
}
此代码当前删除所有 0,而不是尾随零。意思是我的输出是 (3,2,1) 而不是 (3,0,2,1);
任何帮助将不胜感激 提前致谢
【问题讨论】:
-
在数组末尾开始迭代。删除零直到找到一个非零,此时你应该
break循环 -
如何将“001203”转换为
3, 0.2?, 1, 0, 0这是一个错字吗? -
试着写一个这样的方法来修剪零:找到第一个非0,这是新字符串的开始,第二个值是最后出现的非0字符,之后你可以使用String。 subString(start, end) ;) 这样您就可以确保正确返回。你的方法是从字符串中删除每个 0。
-
@gtgaxiola 是的,这是一个错字
标签: java string arraylist int zero