Java String с интами (задача взорвала мне мозг)

Скажите пожалуйста, реально ли определенному charAt присвоить другое значение, в виде char или инт ?

String s = "10210";
s.charAt(0) = '0';

Не дает присвоить ни инт ни char (((

Вопрос только про это, но если кому интересно, мой вопрос - часть решения задачи о том, что бы выводить строку вида: 10000 + 200 + 10 . Решал двумя циклами бегая по подстроке.
По этой задаче прошу не давать готвый код, можем обсудить только в виде псевдо кода.

//спустя пару часов ... Почти получилось, но вот на выходе строка:

2000000 + 100000 + 500 + 1 +

как же убрать этот последний + ???

public class Main {
        public static void main(String[] args) {
                String s = "2100501";


                for (int i = 0; i<s.length(); i++){
                        if (Character.getNumericValue(s.charAt(i)) != 0){
                                String s2 = s.substring(i+1, s.length());
                                StringBuilder s3 = new StringBuilder(s2);
                                for (int x = 0; x<s3.length(); x++){
                                        s3.setCharAt(x, '0');
                                }
                                System.out.print(s.charAt(i));
                                System.out.print(s3 + " + ");
                        }
                }
        }


}

Ответы (1 шт):

Автор решения: S.H.

Мне кажется, Вы уже вполне самостоятельно решили задачу.

Если оставшийся вопрос - только в том, как убрать последний плюс- посмотрите на условие цикла.

У Вас может получиться что то вроде:

            public class Main {
                    public static void main(String[] args) {
                            String s = "2100501";


                            for (int i = 0; i<s.length(); i++){
                                    if (Character.getNumericValue(s.charAt(i)) != 0){
                                            String s2 = s.substring(i+1, s.length());
                                            StringBuilder s3 = new StringBuilder(s2);
                                            for (int x = 0; x<s3.length(); x++){
                                                    s3.setCharAt(x, '0');
                                            }
                                            System.out.print(s.charAt(i));
                                            System.out.print(s3);
                                            if ( i<s.length()-1 )
                                                    System.out.print(" + ");
                                    }
                            }
                    }

            }
→ Ссылка