package EstructurasControl;

import java.util.Scanner;

public class While {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //2.1.	Escribe un algoritmo que almacene una cadena de caracteres en una variable,
        // y pregunte al usuario indefinidamente hasta que se introduzca la contraseña correcta, indicando “Login exitoso”.

        //2 Variables
        /*String passwordCorrecta = "1234";
        String passwordIntroducida = "";
        while(!passwordCorrecta.equals(passwordIntroducida)){
            System.out.println("Introduce la contraseña");
            passwordIntroducida = sc.nextLine();
        }
        System.out.println("Contraseña correcta!");*/

        //2.2 Escribe un programa que muestre el eco de todo lo que el usuario introduzca hasta que el usuario escriba “salir” que terminará.

        /*String palabraIntroducida = "";
        while(!palabraIntroducida.equalsIgnoreCase("Salir")){
            System.out.println("Introduce una palabra: ");
            palabraIntroducida = sc.nextLine();
            System.out.println("El usuario ha dicho " + palabraIntroducida);
        }*/
        //2.3.	Escriba un algoritmo que pida dos números enteros. El programa pedirá de nuevo
        // el segundo número mientras no sea mayor que el primero. El programa terminará escribiendo los dos números.

        /*System.out.println("Introduce el primer número: ");
        int numero = sc.nextInt();
        System.out.println("Introduce el segundo número: ");
        int numero2 = sc.nextInt();

        while (numero > numero2){
            System.out.println("Introduce de nuevo el segundo número");
            numero2 = sc.nextInt();
        }
        System.out.println("Fin del programa");
        */

        //2.4.	Escriba un algoritmo que pida números enteros mientras sean cada vez más grandes.

        /*System.out.println("Introduce el primer número: ");
        int numero = sc.nextInt();
        System.out.println("Introduce el segundo número: ");
        int numero2 = sc.nextInt();

        while(numero2 > numero){
            numero = numero2; //OJO CON: Sobreescribir número.
            System.out.println("Introduce otro número: ");
            numero2 = sc.nextInt();
        }
        System.out.println("Fin del programa");*/

        //2.5. Escriba un algoritmo que pida un valor límite positivo y a continuación pida números hasta
        // que la suma de los números introducidos supere el límite inicial.

        /*System.out.println("Introduce un límite: ");
        int limite = sc.nextInt();

        int suma = 0;

        while(suma < limite){
            System.out.println("Introduce un número: ");
            //int numero = sc.nextInt();
            suma += sc.nextInt();
        }
        System.out.println("Has llegado al límite");*/

        //2.6. Escriba un algoritmo que pida primero dos números enteros (mínimo y máximo) y que después pida números enteros
        // situados entre ellos. El programa terminará cuando se escriba un número que no esté comprendido entre los
        // dos valores iniciales. El programa termina escribiendo la cantidad de números escritos.


        System.out.println("Introduce un mínimo: ");
        int numMinimo = sc.nextInt();
        System.out.println("Introduce un máximo: ");
        int numMaximo = sc.nextInt();
        System.out.println("Escribe un número: ");
        int numero = sc.nextInt();
        int contador = 1;

        while(numero>numMinimo && numero<numMaximo){
            System.out.println("Escribe otro número: ");
            numero = sc.nextInt();
            contador++;
        }
        System.out.println("El número no está entre los límites ("+numMinimo+","+numMaximo+")");
        System.out.println("Se han introducido " + contador + " numeros");

    }
}
