[ Foro de Java ]
Primero Antes que nada dar las gracias a Nacho por estos excelentes tutoriales!!!!
Segundo No logro realizar el ejercicio 8.5.1 en el que se debe pedir el nombre al usuario y mostrarlo al revés en ventana.
Lo que intente fue crear un bucle do while asignar el lenght de la cadena a una variable y con substring ir imprimiendo el ultimo caracter de la cadena e ir decrementando el substring hasta llegar a 0 pero el resultado es el esperado pero me lo da pero en ventanas diferentes.
Aqui pongo mi avance
package ejercicio841;
import javax.swing.JOptionPane;
/**
*@author rik
*/
public class Ejercicio841 {
public static void main(String[] args) {
String a;
a= JOptionPane.showInputDialog(
null,"Introdusca su nombre",
"Nombre",
JOptionPane.QUESTION_MESSAGE);
int b=a.length();
int d=b;
int c=d-1;
do{
JOptionPane.showMessageDialog(
null,"Tiene de distancia de caracteres: " + a.substring(c,d),
"Sumador",
JOptionPane.INFORMATION_MESSAGE);
d=d-1;
c=c-1;
}
while (d>0);
}
}
Espero alguien me pueda ayudar Saludos!!!!!!!
Ya lo logre, habia intentado hacer un reverse a mi string pero me daba error por eso intente con el codigo que puse arriba, la solucion estaba en convertir mi String en un StringBuffer y a ese realizarle un reverse y ta chan !!!
Pregunte y me conteste yo mismo jeje
Por si alguien tiene la misma duda aqui el codigo
public class Ejercicio841 {
public static void main(String[] args) {
String a;
a= JOptionPane.showInputDialog(
null,"Introdusca su nombre",
"Nombre",
JOptionPane.QUESTION_MESSAGE);
StringBuffer sb = new StringBuffer(a);
sb.reverse();
JOptionPane.showMessageDialog(
null,"Tu nombre al reves: " + sb,
"Nombre",
JOptionPane.INFORMATION_MESSAGE);
}
}
Saludos a todos
Efectivamente, un "reverse" te podría servir. No existe en "string", pero sí en StringBuilder:
cadena = new StringBuilder(cadena).reverse().toString();
Aun así, lo razonable en un ejercicio de este tipo... es que en vez de utilizar cosas prefabricadas, pruebes tú a resolver al problema usando "substring" (o "charAt") y un "for".
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)