Java - problemas con el if

 
Vista:
sin imagen de perfil
Val: 89
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

problemas con el if

Publicado por jose maria (85 intervenciones) el 26/05/2016 19:08:08
hola, soy nuevo y funciono con bluej...
estoy haciendo un if dentro de un método set el cual no compila, me marca error a la hora de hacer la comparación, if (dato= "jose") aquí el código completo:
gracias

1
2
3
4
5
6
7
8
9
10
11
public void setCambiarDato1 (String dato)
{
    if (dato= "jose")
    {system.out.println("¡¡¡¡PREMIO!!!! ACERTASTE EL NOMBRE SECRETO");
         this. dato1=dato;
    }
    else {
         this. dato1=dato;
     }
 
}
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
sin imagen de perfil

problemas con el if

Publicado por Kayla G (3 intervenciones) el 26/05/2016 20:52:32
Hola José!
Tu problema es muy sencillo y muy común cuando comenzamos a programar:
En programación el signo "=" se utiliza para 2 cosas (las cuales son completamente diferentes)
1.- Para asignacion de datos:
int var1 = 0;
int var2 = 3;


2.- para comparación de datos:
1
2
3
if(var1==var2){
    system.out.println("Los datos son iguales");
}

lo que tu estas haciendo es una asignacion de datos! estas diciendo que el valor de "dato" es "jose"

1
2
3
4
5
6
7
8
9
10
public void setCambiarDato1 (String dato)
{
if (dato=="jose")
{system.out.println("¡¡¡¡PREMIO!!!! ACERTASTE EL NOMBRE SECRETO");
this. dato1=dato;
}
else {
this. dato1=dato;
}
}

si es una cadena (un string) el dato que vas a comparar te recomiendo mejor utilizar "equals"
el signo de "==" solo se utiliza con números

if (dato.equals("jose"))....
o if (dato.equalsIgnoreCase("jose")).... <--- este es para que no distinga entre mayusculas o minúsculas o sea, sería igual un "Jose" que un "jose" en cambio el "equals" si distingue entre mayusculas y munúsculas

Espero haberte ayudado
Suerte!
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

problemas con el if

Publicado por Daniel Alejandro Rosas Vazquez (8 intervenciones) el 27/05/2016 06:05:43
Hola que tal..

Primero que nada tienes que checar tu sintaxis porque lo estas haciendo de una manera incorrecta

if(dato == "jose"){
//Codigo

o también podría ser

if(dato.equals("jose"){
//Codigo
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

problemas con el if

Publicado por Diana Karina (3 intervenciones) el 27/05/2016 06:15:04
Hola jose tu problema con el if es bastante sencillo pues para comparar que el dato es igual a jose tu estas utilizando un = solamente cuando la sintaxis correcta es usar ==

1
2
3
4
5
6
7
8
9
10
11
public void setCambiarDato1 (String dato)
{
    if (dato=="jose")
    {system.out.println("¡¡¡¡PREMIO!!!! ACERTASTE EL NOMBRE SECRETO");
         this. dato1=dato;
    }
    else {
         this. dato1=dato;
     }
 
}

De esta forma
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

problemas con el if

Publicado por Juan Carlos Zamora Alonso (16 intervenciones) el 27/05/2016 06:35:49
Hola que tal buen día, para el uso del IF es recomendable para la comparación de cadenas String es recomendable
usar lo que es el metodo ".equals" (Sin las comillas) es especialmente para la comparación o concatenación de cadenas.
Me tome la libertad de modificar tu codigo. Espero te sirva.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Test {
 
    public static void main(String[] args) {
 
        String dato = "Jose";
        String pedirDato = "";
        pedirDato = String.valueOf(JOptionPane.showInputDialog("Dame dato"));
        if (dato.equals(pedirDato));
        {
            System.out.println("¡¡¡¡PREMIO!!!! ACERTASTE EL NOMBRE SECRETO" + dato);
 
        }
    }
}

Nota: Esta en lenguaje JAVA IDE NetBEans...

Saludos fierro...
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
sin imagen de perfil
Val: 89
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

problemas con el if

Publicado por jose maria (85 intervenciones) el 27/05/2016 12:55:30
gracias a todos por los comentarios, entonces, cuando quiero asignar el valor de algo a otra variable utilizo solo un "=" pero cuando quiero comparar dos cosas utilizo el "==" en el caso de string los métodos .equals y compañía
¿verdad?
pues muchísimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

problemas con el if

Publicado por KaylaG (3 intervenciones) el 31/05/2016 08:15:53
así es José! :)
Y como te mencioné, generalmente el "==" es utilizado sólo para comparar números
Si quieres comparar cadenas (palabras) es mejor utilizar
1
nombre1.equals("nombre_a_comparar");
o con un
1
nombre.equalsIgnoreCase("NoImportanMayusculasominusculas");
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

problemas con el if

Publicado por KARLA DANIELA (19 intervenciones) el 29/05/2016 06:58:02
Hola el problema que tienes con la sentencia if es muy notorio pues para comparar que el dato es igual a jose tu estas utilizando un = solamente cuando la sintaxis correcta es usar doble igual ==

ejemplo:
1
2
3
4
5
6
7
8
9
10
11
public void setCambiarDato1 (String dato)
{
    if (dato=="jose")
    {system.out.println("¡¡¡¡FELICIDADES!!!! ACERTASTE EL NOMBRE SECRETO");
         this. dato1=dato;
    }
    else {
         this. dato1=dato;
     }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas con el if

Publicado por Lady Garay Gutierrez (9 intervenciones) el 30/05/2016 22:19:07
Tienes que ponerle doble igual para que te lo acepte.
Pensé que era porque tal vez la variable dato la tenias declarada de otra forma pero después vi tu igual y es por eso, necesitas dos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Eduardo Perez Hernandez

problemas con el if

Publicado por Juan Eduardo Perez Hernandez (2 intervenciones) el 02/06/2016 23:36:13
solo tenias un pequeño error
1
2
3
4
5
6
7
8
9
10
11
public void setCambiarDato1 (String dato)
{
    if (dato.equals( "jose"))
    {system.out.println("¡¡¡¡PREMIO!!!! ACERTASTE EL NOMBRE SECRETO");
         this. dato1=dato;
    }
    else {
         this. dato1=dato;
     }
 
}
espero te sirva
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

problemas con el if

Publicado por Ivan Galvan Flores (1 intervención) el 03/06/2016 07:08:28
Ola como te comentan la mayoria...

en java asi lo manejamos

= es para asignar valor

== es igual a "Numero, boleano... etc

.equals es para cadenas o Stringss

Saludos

String pedirDato = "";
pedirDato = String.valueOf(JOptionPane.showInputDialog("Dame dato"));
if (dato.equals(pedirDato));
{
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

problemas con el if

Publicado por Carolina Vazquez (7 intervenciones) el 07/06/2016 01:28:18
1
2
3
4
5
6
7
8
9
10
11
public void setCambiarDato1 (String dato)
{
    if (dato.equals( "jose"))
    {system.out.println("¡¡¡¡PREMIO!!!! ACERTASTE EL NOMBRE SECRETO");
         this. dato1=dato;
    }
    else {
         this. dato1=dato;
     }
 
}

Esa es la forma correcta, intentalo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas con el if

Publicado por Armando (14 intervenciones) el 07/06/2016 19:29:10
Cuando compares Datos de tipo String utiliza equals()
Ejemplo
1
2
3
4
5
6
7
String datos = "Ejemplo";
if(datos.equals("Ejemplo"){
System.out.println("Son Iguales");
}
else{
System.out.println("NOoooo Son Iguales");
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar