Сначала: вменяемое решение:
StringBuilder sb = new StringBuilder();
StringBuilder r = new StringBuilder();
for( char c : "HELLO LAZY LIMBO WORLD" .toCharArray() ) {
if( c == 'L' ) {
sb.append(r.append('x'));
} else {
sb.append( c );
}
}
return sb.toString() );
Затем модифицируется для соответствия критериям только с использованием допустимых методов .length;
.indexOf;
.substring
и .concat (or +)
(удаление toCharArray();
и StringBuilder
)
public static String replace( String input ){
String replacement = "";
int iot = -1;
while( ( iot = input.indexOf('L')) > -1 ) {
input = input.substring(0,iot) +
( replacement+='x' ) +
input.substring(iot+1);
}
return input;
}
Это похоже на цикл for.Давайте изменим его!
Только с двумя операторами (declr и цикл for):
public static String replace( String in ){
String x = "";
for( int i = 0; ( i = in.indexOf('L',i)) > -1 ;
in = in.substring(0,i++) + ( x=x+'x' ) + in.substring(i) );
return in;
}
Выход:
HExxxO xxxAZY xxxxIMBO WOxxxxxR
Теперь, это! для цикла.Я почти делаю Java похожим на Perl.