Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

201
Vistas
¿Por qué cambiar la declaración al no comparar los valores int?

**Escribí un código simple que tengo que comparar con números, pero cuando ejecuto el compilador me dice que tiene un error con los valores booleanos. No entiendo por qué no funciona **

 { public static void main(String[] args) { compare(8,22); } static void compare(int a, int b){ switch (a) { case (a > b) -> System.out.println(a + " > " + b); case (b < a) -> System.out.println(a + " < " + b); case (a == b) -> System.out.println(a + " = " + b); default -> System.out.println("Something is wrong !"); } } }```
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

cambiarlo a:

 { public static void main( String... args ) { compare( 8, 22 ); } static void compare( final int a, final int b ) { switch( Integer.signum( Integer.compare( a, b ) ) ) { case 1 -> System.out.println( a + " > " + b ); case -1 -> System.out.println( a + " < " + b ); case 0 -> System.out.println( a + " = " + b ); default -> System.out.println( "Something is wrong !" ); } } }

¡Y debería funcionar!

El case requiere expresiones constantes distintas, y los términos que usa ( (a > b) , (b < a) y (a == b) ) no son constantes (sin mencionar que (a > b) y (b < a) son equivalentes). También devuelven un valor booleano. switch no maneja un selector de interruptor booleano directamente.

En JShell, (solo) esto funciona para switch con "boolean":

 boolean flag = … switch( Boolean.toString( flag ) ) { case "true" -> … case "false" -> … default -> throw new Error( "Hä?" ); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda