Foro sobre Java SE > Ayuda como se hace esto en Cadenas
Consulta los métodos disponibles en las clases String y StringBuilder:
Buenas,
regularmente cuando se pregunta de esa manera se entiende hey alguien que me haga esta tarea XD,
pero bueno soy del criterio que si estudias codigo de otro aprendes, así que aquí esta una de las muchas soluciones al problema que se plantea
Usando la clase StringBuilder.
public class Test{
/**
Imprime la palabra y su forma inversa hasta la longitud de cadena dada
@param palabra: la cadena a imprimir
@param logintudMinima: longitud final de la cadena
*/
public static void StringEspejo(String palabra, int longitudMinima) {
StringBuilder br = new StringBuilder(palabra);
if (palabra.length() <= longitudMinima) {
System.out.print(br);
//invierte la cadena
System.out.println(br.reverse());
} else {
for (int i = 0; i <= palabra.length() - longitudMinima; i++) {
System.out.print(br);
System.out.println(br.reverse());
//retorna la cadena a su estado original
br.reverse();
br.deleteCharAt(0);
}
}
}
public static void main(String args[]) {
//imprime exactamente como tu ejemplo
StringEspejo("Roberto", 3) ;
}
}
nota: StringBuilder.reverse, invierte el contenido del objeto StringBuilder, por lo que hay que volver a llamar a reverse para regresar el objeto a su estado original.
Espero que alguien le sea util.
saludos.
Anota tu nombre: Roberto
RobertootreboR
obertootrebo
bertootreb
ertootre
rtootr