Java - palíndromo

 
Vista:
sin imagen de perfil

palíndromo

Publicado por Alexander (1 intervención) el 29/01/2022 21:38:03
Hola amigos, llevo 2 hrs haciendo este ejercicio de mi universidad, acabe el primero pero si me pueden ayudar en este estaria bien, y si me lo pueden explicar mejor porque quiero aprender pero soy nuevo aun en esto de usar Java, antes usaba Python asi que se puede decir que estoy aprendiendo a usar Java en Apache NetBeans

Escribe un programa en Java que, usando un arreglo unidimensional de tipo entero de N elementos, determine si el
arreglo es palíndromo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

palíndromo

Publicado por Kabuto (1381 intervenciones) el 29/01/2022 23:26:54
Hola.

Se pueden usar dos índices para recorrer el arreglo.
Uno comienza en el primer elemento e irá incrementando.
El otro, comienza en el último elemento e irá decrementando.

Así, en un bucle while podemos recorrer el arreglo hacia delante y hacia atrás al mismo tiempo, comparando en cada iteración los elementos correspondientes para determinar si son iguales o distintos.

Además podemos usar un boolean inicializado con valor true, y que solo cambie a false si se encuentran elementos distintos (ya no sería palíndromo).

El bucle while se repetiría mientras el boolean sea true, y además mientras el índice que incrementa, sea menor al índice que decrementa.
Porque cuando ya sean iguales, o el que incrementa sea mayor que el otro, significará que ya se han comparado todos los elementos del array.

Una vez terminado el bucle, comprobamos que valor tiene el boolean y nos dirá si el arreglo es palíndromo o no.

Intenta escribir tú un código en base a esta explicación. Lo consigas o no, te dejo mi código por si luego quieres consultarlo.
Pruébalo con distintos tamaños de arreglos, el programa debería funcionar sea cuál sea el tamaño.
Si algo no queda claro, por favor no dudes en preguntar.
Un saludo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Arrays;
 
public class Palindromo {
 
	public static void main(String[] args) {
 
		int[] arreglo = {1, 5, 10, 8, 8, 10, 5, 1};
 
		boolean esPalindromo = true;
		int indiceInc = 0; //Indice que incrementa comienza por el primer elemento
		int indiceDec = arreglo.length - 1; //El que decrementa, comienza por el último.
 
		while (esPalindromo && indiceInc < indiceDec) {
			if (arreglo[indiceInc] != arreglo[indiceDec])
				esPalindromo = false; //Esto pondrá fin al bucle
			else {
				indiceInc++;
				indiceDec--;
			}
		}
 
		//Informamos según resultados
		System.out.println("Valores del arreglo:");
		System.out.println(Arrays.toString(arreglo) + "\n");
 
		System.out.println(esPalindromo?"El arreglo es palíndromo":"El arreglo NO es palíndromo");
 
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar