Java - Ayuda con error: bad operand types for binary operator ">="

 
Vista:
Imágen de perfil de wendymika
Val: 6
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda con error: bad operand types for binary operator ">="

Publicado por wendymika (4 intervenciones) el 27/11/2019 06:02:43
Captura-de-pantalla-de-2019-11-26-20-51-34


Como puedo solucionar el error ?
no puedo cambiar el tipo de metodo , tiene que ser siempre Integer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Override public Integer visitRelationalExpr(GramaticaParser.RelationalExprContext ctx)
{
    int left = visit(ctx.expr(0));
    int right = visit(ctx.expr(1));
 
    boolean bool = (left == visit(ctx.expr(0)));
    boolean bool1 = (right == visit(ctx.expr(1)));
 
    switch (ctx.operacion.getType()) {
        case GramaticaParser.MENOR:
            return bool < bool1;
        case GramaticaParser.MENOR_IGUAL:
            return bool <= bool1;
        case GramaticaParser.MAYOR:
            return bool > bool1;
        case GramaticaParser.MAYOR_IGUAL:
            return bool >= bool1;
        default:
            throw new RuntimeException("unknown operator: " + GramaticaParser.tokenNames[ctx.operacion.getType()]);
    }
    return 0;
 
}
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con error: bad operand types for binary operator '>='

Publicado por Rodrigo (623 intervenciones) el 27/11/2019 07:47:01
bool y bool1 son booleanos, osea true o false. No tiene sentido compararlos con <, >, <=, >=.
Solo tiene sentido compararlos con == o !=.

Un comentario adicional:
Parece raro que en la linea 161 en la imagen, asignes a la variable left una expresion y luego hagas que bool en la linea 164 compare lo que left tiene con la misma expresion. Pareciera que esa comparacion sera cierta siempre. Lo mismo con bool1.
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