Поскольку строки неизменяемы, я пытаюсь ее воссоздать. Мне нужно заменить одну из букв.Удалить избыточность при редактировании строки
for (int i = 0; i < mat.length(); i++){
//there's more stuff here, but that'd require a lot more explaining
//the following don't occur at every iteration
//mat and s are always the same length though
if (i == s.length())
mat = mat.substring(0, i) + s.charAt(i);
else
mat = mat.substring(0, i) + s.charAt(i) + mat.substring(i + 1, mat.length());
}
В основном изменение буквы строкового мата с буквой строки s с тем же индексом. Проблема в том, что это последний индекс, я бы получил ошибку за пределами, поэтому я решил использовать if/else, чтобы позаботиться об этом.
Но есть избыточность в том, что оба условия запуска кода:
mat = mat.substring(0, i) + s.charAt(i)
Какой самый лучший способ, чтобы удалить эту избыточность? Спасибо!
Вы увеличиваете i? Также было бы полезно, если бы вы использовали ** StringBuilder **, вместо этого вы создаете слишком много строк. –
'if (i == s.length())', тогда вы закончили - вы уже повторили все символы строки. –
Я не думаю, что могу использовать StringBuilder, хаха, это для школы. И Мэтт, но мне, возможно, понадобится изменить последнего персонажа? – House3272