es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

True

Mi amigo recientemente tuvo una entrevista en la que le preguntaron cómo imprimir verdadero o falso si se le diera una entrada de 0 o 1 por parte del usuario y tenía que hacerlo sin usar if else o cualquier tipo de bucle. Desafortunadamente, no le pidieron la solución al entrevistador. Busqué la solución pero no pude encontrar una solución relacionada en ninguna parte, así que pensé que debería poner esta pregunta aquí.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Suponiendo que no se nos permite usar ninguna declaración if-else o ningún tipo de bucle, la solución a este problema se puede lograr mediante el uso del operador lógico booleano ! (NOT).

    Podemos negar el valor de entrada (0 o 1) y luego negarlo nuevamente, lo que nos dará verdadero o falso.

    Aquí está la lógica:

    • Si la entrada es 0, negarlo para obtener 1.
    • Negar 1 para obtener 0, que es falso.
    • Si la entrada es 1, negarlo para obtener 0.
    • Negar 0 para obtener 1, que es verdadero.

    Entonces, para imprimir verdadero o falso basado en la entrada del usuario de 0 o 1, podemos usar el siguiente código:

    int input = // tomar la entrada del usuario (ya sea 0 o 1)
    
    boolean result = !!input;
    System.out.println(result);
    

    El operador !! se utiliza para negar la entrada dos veces, lo que da como resultado la salida booleana deseada.

    Nota: Esta solución puede parecer más un truco que un enfoque práctico, ya que usar declaraciones if-else o bucles sería una forma más adecuada de resolver este problema.

Comments are closed.