elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda comparando Strings
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda comparando Strings  (Leído 2,264 veces)
luisdalopez56

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ayuda comparando Strings
« en: 26 Diciembre 2017, 14:23 pm »

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");
}

}

}


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda comparando Strings
« Respuesta #1 en: 26 Diciembre 2017, 15:02 pm »

Las String son objetos, y no los puedes comparar con "==". Las comparas con el método .equals():

Código
  1. if(str1.equals(str2)){
  2.    // Iguales
  3. }

Lo mismo para todos lo objetos (variables que no sean tipos primitivos, como int o double, entre otros)

Al comparar con "==" dos objetos, lo que comparas realmente es si esos 2 objetos son "el mismo objeto" exactamente, mientras que equals compara si los dos objetos tienen "el mismo contenido".


En línea

luisdalopez56

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Ayuda comparando Strings
« Respuesta #2 en: 26 Diciembre 2017, 15:13 pm »

Las String son objetos, y no los puedes comparar con "==". Las comparas con el método .equals():

Código
  1. if(str1.equals(str2)){
  2.    // Iguales
  3. }

Lo mismo para todos lo objetos (variables que no sean tipos primitivos, como int o double, entre otros)

Al comparar con "==" dos objetos, lo que comparas realmente es si esos 2 objetos son "el mismo objeto" exactamente, mientras que equals compara si los dos objetos tienen "el mismo contenido".
Muchisimas gracias, apenas comienzo en java y necesito ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda comparando cadena de caracteres!
Programación C/C++
Mr.Captcha 6 3,841 Último mensaje 5 Septiembre 2013, 14:14 pm
por Eternal Idol
ayuda con strings
Programación C/C++
marchiali 4 2,081 Último mensaje 24 Julio 2014, 17:55 pm
por marchiali
ayuda con strings
Programación C/C++
marchiali 3 2,175 Último mensaje 25 Agosto 2014, 20:04 pm
por engel lex
ayuda con strings
Programación C/C++
ChristianThraash 1 1,277 Último mensaje 25 Mayo 2016, 17:44 pm
por AlbertoBSD
Ayuda con strings
Programación C/C++
taelk 0 1,346 Último mensaje 2 Abril 2017, 01:01 am
por taelk
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines