A ver si alguien puede ayudarme ya que llevo poco tiempo programando(apenas un mes) y no veo forma de hacer este ejercicio. Sólo consigo que me diga si es capicúa o no lo es el último número del array pero no todos los elementos del array.
Lo que he hecho es lo siguiente:
public static void main(String[] args) {
int i;
String cifra = "";
String cifraInv = "";
String tamanyo = JOptionPane.showInputDialog("Dar tamaño al array "); //pido,por teclado,tamaño para el array
int tamaño = Integer.parseInt(tamanyo);
String Array[] = new String[tamaño]; //creo el array
for (i = 0; i
String numero = JOptionPane.showInputDialog("Dar un número ", tamaño); //recojo por teclado los elementos (números) para rellenar el array
cifra = numero;
Array[i] = cifra; //adjudico cada posición (i) del array a cada número que se me ha dado por teclado
System.out.println(Array[i]); //visualizo los elementos del array
}
for (i = cifra.length() - 1; i >= 0; i--) {
cifraInv = cifraInv + cifra.charAt(i); //utilizo la función charAt para invertir los elementos del array
}
if (cifraInv.equals(cifra)) { //utilizo un if para comprobar si cada elemento del array es igual que ese mismo elemento invertido
JOptionPane.showMessageDialog(null, "es capicúa "); //si lo es, capicua
} else {
JOptionPane.showMessageDialog(null, "No es capicúa "); //si no lo es, no es capicua
}
}
}
El problema es que sólo funciona para el último elemento del array pero no para todos los elementos del array de los que pasa impunemente.
Llevo desde la mañana probando diferentes formas pero no hay manera… a ver si alguien pudiese hacer alguna sugerencia.