Некоторые другие указатели:
String - неизменный класс, означающий, что после его создания он уже не может быть изменен.
Итак, делаем
String t = new String();
t = last.toString();
имеет смысл, так как вы создадите 2 объекта String здесь (last.toString()
создаст и вернет новую строку).
Просто сделайте:
String t = last.toString();
или даже лучше:
num.concat(last.toString());
То же самое касается temp String, просто сделайте:
String temp = num.substring(0, num.length()-2);
Далее, учтите непреднамеренный автобокс:
Integer first = 0;
first++;
это будет создавать новый объект Integer каждый раз, когда выполняется first++
; Целое число (как строка) является неизменным.
При расчете просто используйте примитив int
вместо Integer
.
Наконец, будьте осторожны, чтобы не создавать бесконечный цикл. Если я понимаю, ваш код будет объединен с num, поэтому num.length() > 1
будет истинно всегда, если оно было истинно в первый раз.