Java - Comparar datos primitivos con objetos

   
Vista:

Comparar datos primitivos con objetos

Publicado por yoselin (2 intervenciones) el 28/05/2014 17:02:09
Hola,

Estoy realizando uno ejercicios sencillos y no consigo la forma correcta de comparar una variable entera con la instancia de un objeto. Como utilizo el metodo Equals() para obtener un resultado correcto.

Este es el codigo que estoy utilizando:

public static void main (String arg[])throws IOException {
int searchC=0;
BufferedReader CursoInstructor=new BufferedReader(new InputStreamReader(System.in));

Instructor i=new Instructor();
Curso c=new Curso();
CursoInstructor ci=new CursoInstructor();
i.setDisciplina("swimming");
i.setId(001);
i.setNombre("Cayetano");
c.setNombreCurso("Diving");
c.setNumeroCurso(1);
ci.setCourseNumber(002);
ci.setInstructorId(666);

System.out.println("Enter the course number: ");
searchC=CursoInstructor.read();
int v2;
v2=c.getNumeroCurso();
if (v2==searchC){
System.out.println(c.getNumeroCurso());
System.out.println("The Instructor's Name is: "+i.getNombre());
System.out.println("His ID is: "+i.getId());
System.out.println("The Discipline is: "+i.getDisciplina());
}
else
{
System.out.println("That Course don't exist!!!");
}

}


La comparacion que necesito realizar es entre V2 y searchC. Este codigo no hace la comparacion de forma correcta.

Muchisimas gracias por la ayuda!
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

Comparar datos primitivos con objetos

Publicado por korsakof (1 intervención) el 28/05/2014 17:09:45
Creo que te faltan los espacios entre los elementos de comparación.
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

Comparar datos primitivos con objetos

Publicado por yoselin (2 intervenciones) el 28/05/2014 17:22:01
Gracias por tu comentario,

Realmente ese no es el problema, sino diera un error de sintaxis, pero el codigo no tiene errores, solo que la coparacion no obtiene el resultado correcto, siempre ejecuta la instruccion del ELSE a pesar que los dos valores son los mismos.
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 Jhonnathan Emilio Cardona Saineda

Comparar datos primitivos con objetos

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 29/05/2014 18:22:30
Hola,
Si la comparación es de enteros (int) entonces es con == ya que el equals aplica para cadenas de texto (string), si te va al else es porque V2 y search no son iguales. Puedes hacer antes del if un print de esta manera :
1
2
3
4
5
6
7
8
9
v2=c.getNumeroCurso();
System.out.println(v2+"-"+search);
if (v2==searchC){
System.out.println(c.getNumeroCurso());
System.out.println("The Instructor's Name is: "+i.getNombre());
System.out.println("His ID is: "+i.getId());
System.out.println("The Discipline is: "+i.getDisciplina());
}
Saludos,
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