Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Afecta en algo que en lugar de && prefiriera poner || ?

import java.util.Scanner;

public class EjerciciosLogica { public static void main(String[] args) {

    /*

Emerson trabaja en un banco y necesita verificar si un número digitado por el cliente está dentro del rango permitido de valores para un préstamo, que va de 1000 a 5000 dólares.

Crea un programa que reciba un valor y muestre si está dentro del intervalo permitido o no.

Ejemplo de entrada: Ingrese el valor del préstamo: 750

Salida esperada: El valor 750 no está dentro del intervalo permitido para el préstamo.

    * */
    System.out.println("Ingrese el valor del prestamo: ");
    Scanner scanner = new Scanner(System.in);
    double valorDelPrestamo = scanner.nextDouble();
    double montoMinimo = 1000;
    double montoMaximo = 5000;

    if (valorDelPrestamo < montoMinimo || valorDelPrestamo > montoMaximo){
        System.out.printf("El valor: $" + valorDelPrestamo + " no está dentro del intervalo permitido para el préstamo.");
        System.out.println();
    }else {
        System.out.printf("El valor: $" + valorDelPrestamo +" está dentro del intervalo permitido para el préstamo");
        System.out.println();
    }
    scanner.close();
}

}

1 respuesta

Hola Christopher, espero que estés bien

Entiendo tu pregunta sobre el uso de && en lugar de || en la condición del if. En el contexto de tu código, estás verificando si un número está fuera del rango permitido para un préstamo, que es entre 1000 y 5000 dólares.

Actualmente, tu condición es:

if (valorDelPrestamo < montoMinimo || valorDelPrestamo > montoMaximo)

Esto significa que el programa comprobará si el valor del préstamo es menor que 1000 o mayor que 5000. Si cualquiera de estas condiciones es verdadera, el préstamo está fuera del rango.

Si cambiaras || por &&, la condición sería:

if (valorDelPrestamo < montoMinimo && valorDelPrestamo > montoMaximo)

Esta condición nunca sería verdadera porque un número no puede ser simultáneamente menor que 1000 y mayor que 5000 al mismo tiempo. Por lo tanto, el bloque if nunca se ejecutaría, y siempre se consideraría que el valor está dentro del rango, lo cual no es correcto para este caso.

Por lo tanto, en este caso específico, el uso de || es el correcto para verificar si el valor está fuera del rango. Espero que esto aclare tu duda.

Espero haber ayudado y buenos estudios!