package bucles.DoWhile;

import java.util.Random;
import java.util.Scanner;

public class ejercicios {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		//- EJERCICIO DE EJEMPLO.
		
		//Solicita una palabra por pantalla indefinidamente hasta que se introduzca "salir"
		
		//Bucles Indeterminados.
			//DO-WHILE
			//WHILE
		
		/*String palabra = "";
		do {
			
			System.out.println("Introduzca una palabra");
			palabra = sc.nextLine();
			
		}while(!palabra.equalsIgnoreCase("Salir")); //MIENTRAS SE CUMPLA ME REPITO.
		*/
	
		
		/*
		 1.1.  Escribe un algoritmo que lea palabras de forma indefinida y 
		 finalizará cuando se introduzca la palabra “fin”, mostrando al finalizar la cantidad de palabras frases.
		 */
		
		/*String palabra="";
		int textosContados = 0;
		do {
			System.out.println("Escribe una frase");
			palabra=sc.nextLine();
			textosContados++;
		}while(!palabra.equalsIgnoreCase("fin"));
		
		System.out.println("Se han escrito un total de " +textosContados+ " textos");*/
		
	
		
		/*
		 1.2.  Escribe un algoritmo que lea números enteros indefinidamente hasta que se introduzca el número 0 
		 (Indica los números léidos).
		 */
		
		/*int num1= 0;
		int contador=0;
		
		do{
			System.out.println("Escribe un numero");
			num1= sc.nextInt();
			contador++;
		}while(num1!=0);
		System.out.println("Se han introducido "+contador+ " respuestas");*/
		
	
		
		/*
		 1.3.  Escribe un algoritmo que lea números enteros indefinidamente hasta que se 
		 introduzca el número 0, cuando finalice el bucle tiene que imprimir la suma de los números anteriormente leídos
		 */
		 /*int num1=0;
		 int sumatorio=0;
		 do {
			 System.out.println("Introduzca un numero");
			 num1= sc.nextInt();
			 sumatorio+=num1;
		 }while(num1!=0);
		 //Imprimir sumatorio
		 System.out.println("Sumatorio "+sumatorio+" de las respuestas");*/
		
		
		
		/*
		 1.4.  Escribe un algoritmo que lea números enteros indefinidamente hasta que se 
		 introduzca el número 0, cuando finalice el bucle tiene que imprimir el promedio 
		 de los números anteriormente leídos.
		 */
		
		/*int num1=0;
		int sumatorio=0;
		int contador=0;
		
		do {
			System.out.println("Introduzca un numero");
			num1=sc.nextInt();
			sumatorio+=num1; 
			contador++;
		}while(num1!=0);
			 System.out.println("Promedio "+(sumatorio/contador)+" de las respuestas");*/
		
		
		
		
		/*
		 1.5.  Escribe un algoritmo que lea números enteros indefinidamente hasta que se introduzca el número 0, 
		 cuando finalice el bucle tiene que imprimir el número mayor y menor de todos los números leídos.
		 */
			
		/*int num1=0;
		
		//OJO con esta lógica.
		int mayor=Integer.MIN_VALUE;
		int menor=Integer.MAX_VALUE;
		do {
			System.out.println("Introduzca un numero");
			num1=sc.nextInt();
			
			//Seleccione el mayor
			if (num1>mayor) { //
				mayor=num1;
			}
			
			//Seleccione el menor
			if(num1<menor && num1!=0) {
				menor=num1;
			}
			
		}while(num1!=0);
		
		System.out.println("El numero mayor es "+ mayor);
		System.out.println("El numero menos es "+ menor);*/
		
		
		

		
		/*
		 1.6.  Escribe un algoritmo que elija un número entre 1 y 100, El usuario debe adivinar el número,
		  y el programa debe dar pistas (más alto o más bajo), hasta que el usuario lo acierte.
		   (Al final debe indicar el número de intentos que ha necesitado).
		 */
		/*Random rd = new Random();
		int numElegido = rd.nextInt(1,101); //[1,100] (50)
		int num1=0;
		do {
			System.out.println("Elige un numero entre 1 y 100");
			num1=sc.nextInt();
			
			//Pista de si es mayor o menor, o si el resultado.
			if(num1>numElegido) {
				System.out.println("Es más bajo");
			}
			if(num1<numElegido) {
				System.out.println("Es más alto");
			}
		}while(numElegido!=num1);
		
		//Imprimir enhorabuena has ganado acertando el número x.
			
		System.out.println("Enhorabuena, has acertado");*/
			
	}
}
