Здраствуйте, помогите пожалуйста. Нужно расставить пробелы в этой строке (1-(34+3*(2-623 )*8))/21), так чтоб пробелы стояли ТОЛЬКО до и после знака не являющегося числом, по итогу строка должна иметь такой вид: ( 1 - ( 34 + 3 * ( 2 - 623 ) * 8 ) ) / 21 ), до и после знака должен стоять только один пробел.
Я написал код, но есть две проблемы, цикл не идет до конца так как длина строки sb увеличивается а длина входящей строки нет, и данный метод расставляет пробелы в числах в которых больше одного разряда.
public static String spacing(String x) {
var i = 0;
StringBuffer sb = new StringBuffer(x);
while (i <= x.length()) {
if (x.substring(i,i++) != "[0-9]") {
sb.insert(i, " ");
}
i++;
}
return sb.toString();
}
Anonymous #3161340
1 уровень
Обработка строк
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAРазработчик в prosv.ruExpert
22 октября 2022, 14:07решение
Если посидеть, то думаю можно упростить
+2
Anonymous #3161340
22 октября 2022, 15:52
Огромное спасибо !!!!!!
0
Денис Enterprise Java Developer
22 октября 2022, 13:41
Character.isLetter(char ch)
0