Привет всем Я в настоящее время пытаюсь преобразовать строку в массивList в обратном порядке, а затем удалить любые завершающие нули например, «001203» преобразует в (3,0,2,1,0,0)), а затем (3,0,2,1)java преобразовать строку в int и удалить завершающие нули
мой код в настоящее время
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();
}
}
}
Этот код в настоящее время удаляет все 0s вместо замыкающих нулей. что мой выход равен (3,2,1) вместо (3,0,2,1);
любая помощь будет оценена заранее спасибо
Начните свою итерацию в конце вашего массива. Удалите нули до тех пор, пока не будет найдено ненулевое значение, после чего вы должны «разбить» цикл – CubeJockey
. Как преобразовать «001203» в «3, 0.2 ?, 1, 0, 0' - это опечатка? – gtgaxiola
Попробуйте написать метод, который будет обрезать нули следующим образом: Найти сначала не 0, это начало новой строки, а второе значение - последний символ не 0, после этого вы можете использовать String.subString (начало, конец) ;) Таким образом, вы обеспечите правильное возвращение. Ваш путь удаляет каждые 0 из строки. – Fincio