Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Ayuda como se hace esto en Cadenas

Anota tu nombre: Roberto

RobertootreboR

obertootrebo

bertootreb

ertootre

rtootr

abril 30, 2015 | Registered Commentermonse

Consulta los métodos disponibles en las clases String y StringBuilder:

API de Java 8

mayo 4, 2015 | Registered Commenterrickiees

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.

mayo 9, 2015 | Registered Commenterjhosep