Estoy realizando un ejercicio podeis omitir el significado de algunos de los metodos que tengo creados, pero a mi el que me interesa el es metodo llamado capicua que está al final. Resulta que este debe recibir un int y tranformarlo a string, darle la vuelta al numero y comprobar si este es capicua. El problema lo tengo a la hora de comparar el numero recibido con el numero invertido, no se por que pero no me lo compara. Gracias de antemano. Aqui esta el código:
import java.util.Scanner;
public class numero {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Escribe el primer numero: ");
int numeroPrimero = sc.nextInt();
System.out.print("Escribe el segundo numero: ");
int numeroSegundo = sc.nextInt();
if (numeroPrimero > 0 && numeroSegundo < 1000) {
numeroMayor(numeroPrimero, numeroSegundo);
System.out.print("¿De que numero quieres ver los múltiplos?");
int numeroMultiplo = sc.nextInt();
multiplos(numeroMultiplo);
capicua(numeroPrimero);
} else {
System.out.println("Numeros no válidos");
}
}
public static void numeroMayor (int numeroPrimero, int numeroSegundo) {
if (numeroPrimero > numeroSegundo) {
int Mayor = numeroPrimero;
System.out.println("El numero mayor es " + Mayor);
}
if (numeroPrimero < numeroSegundo) {
int Mayor = numeroSegundo;
System.out.println("El numero mayor es " + Mayor);
}
if (numeroPrimero == numeroSegundo){
System.out.printf("Los numeros %d y %d son iguales %n", numeroPrimero, numeroSegundo);
}
}
public static void multiplos (int numeroPrimero) {
for (int i = 0; i <= 4; i++) {
int multiplicacion = numeroPrimero * i;
System.out.println(numeroPrimero + " multiplicado por " + i + " es igual a " + multiplicacion);
}
}
public static void capicua (int numeroCapicua) {
String numero = Integer.toString(numeroCapicua);
String numerInvertido = "";
for (int i = numero.length()-1; i >= 0; i--) {
numerInvertido = numerInvertido + numero.charAt(i);
}
System.out.println("El numero sin invertir es: " + numero);
System.out.println("El numero invertido es: " + numerInvertido);
if (numerInvertido == numero) {
System.out.println("El numero es capicua");
}
if (numerInvertido != numero) {
System.out.println("El numero no es capicua");
}
}
}
import java.util.Scanner;
public class numero {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Escribe el primer numero: ");
int numeroPrimero = sc.nextInt();
System.out.print("Escribe el segundo numero: ");
int numeroSegundo = sc.nextInt();
if (numeroPrimero > 0 && numeroSegundo < 1000) {
numeroMayor(numeroPrimero, numeroSegundo);
System.out.print("¿De que numero quieres ver los múltiplos?");
int numeroMultiplo = sc.nextInt();
multiplos(numeroMultiplo);
capicua(numeroPrimero);
} else {
System.out.println("Numeros no válidos");
}
}
public static void numeroMayor (int numeroPrimero, int numeroSegundo) {
if (numeroPrimero > numeroSegundo) {
int Mayor = numeroPrimero;
System.out.println("El numero mayor es " + Mayor);
}
if (numeroPrimero < numeroSegundo) {
int Mayor = numeroSegundo;
System.out.println("El numero mayor es " + Mayor);
}
if (numeroPrimero == numeroSegundo){
System.out.printf("Los numeros %d y %d son iguales %n", numeroPrimero, numeroSegundo);
}
}
public static void multiplos (int numeroPrimero) {
for (int i = 0; i <= 4; i++) {
int multiplicacion = numeroPrimero * i;
System.out.println(numeroPrimero + " multiplicado por " + i + " es igual a " + multiplicacion);
}
}
public static void capicua (int numeroCapicua) {
String numero = Integer.toString(numeroCapicua);
String numerInvertido = "";
for (int i = numero.length()-1; i >= 0; i--) {
numerInvertido = numerInvertido + numero.charAt(i);
}
System.out.println("El numero sin invertir es: " + numero);
System.out.println("El numero invertido es: " + numerInvertido);
if (numerInvertido == numero) {
System.out.println("El numero es capicua");
}
if (numerInvertido != numero) {
System.out.println("El numero no es capicua");
}
}
}