Tenho que fazer o seguinte exercício:
Números palíndromos são aqueles que escritos da direita para a esquerda têm o mesmo valor quando escritos da esquerda para a direita. Exemplo: 545, 789987, 97379, 123454321; etc. Escreva um programa que verifique se um dado vetor A de 10 elementos inteiros é um palíndromo, ou seja, se o primeiro elemento do vetor é igual ao último, se o segundo elemento do vetor é igual ao penúltimo e assim por diante até verificar todos os elementos ou chegar a conclusão que o vetor não é um palíndromo.
O programa abaixo informa corretamente se o vetor é ou não palíndromo, mas a linha:
System.out.print(A[j] + " é diferente de " + A[k]);
está com problema. Por algum motivo, um 0 está aparecendo depois do A[k]. Por exemplo:
“1 é diferente de 20” é printado na tela, mas o correto seria “1 é diferente de 2”, alguém sabe qual o problema?
package com.bruno.cursojava.aula19;
import java.util.Scanner;
public class Ex24 {
public static void main(String[] args) {
boolean palindromo=true;
Scanner scan = new Scanner(System.in);
int A[]=new int[10];
for(int i=0;i<10;i++) {
System.out.println("Digite um número inteiro qualquer");
A[i]=scan.nextInt();
}
for(int j=0, k=9 ;j<5 && k>4;j++,k--) {
if (A[j] != A[k]) {
System.out.print("Analisando as posições "+ j + " e " + k + " concluimos que ");
System.out.print(A[j] + " é diferente de " + A[k]);
palindromo=false;
break;
}
}
if (palindromo) {
System.out.println("O vetor A é palíndromo");
} else {
System.out.println("O vetor A não é palíndromo");
}
}
}