Estadísticas V2 Curso de Programación Java

Lección:

Matrices, Estructuras y Cadenas


Ejercicio:

Estadísticas V2 37


Objetivo:

Crear un programa en java estadístico que permita al usuario:

- Añadir nuevos datos
- Ver todos los datos introducidos
- Buscar un artículo, para ver si se ha introducido o no
- Ver un resumen de estadísticas: cantidad de datos, suma, promedio, máximo, mínimo
- Salir del programa

Estas opciones deben aparecer como un menú. Cada opción será elegida por un número o una letra.

El programa debe reservar espacio para un máximo de 1000 datos, pero llevar un recuento de cuántos datos existen realmente.


Código:

import java.util.*;
public class Main
{
	public static void main(String[] args)
	{
		float[] numbers = new float[1000];
		int count = 0;

		float max = 0.0f, min = 0.0f, total = 0.0f, searchNumber = 0.0f;
		boolean found;

		int option = 0;
		do
		{
			System.out.println("1. Add");
			System.out.println("2. Show");
			System.out.println("3. Search");
			System.out.println("4. Statistics");
			System.out.println("5. Exit");

			option = Integer.parseInt(new Scanner(System.in).nextLine());
			if (option != 5)
			{
				switch (option)
				{
					case 1: // Add

						System.out.println("Enter a number: ");
						numbers[count] = Float.parseFloat(new Scanner(System.in).nextLine());

						max = numbers[count];
						min = numbers[count];

						total += numbers[count];

						count++;

						if (max < numbers[count])
						{
							max = numbers[count];
						}

						if (min > numbers[count])
						{
							min = numbers[count];
						}

						break;
					case 2: // Show

						for (int i = 0; i < count; i++)
						{
							System.out.printf("%1$s " + "\r\n", numbers[i]);
						}

						break;
					case 3: // Search

						System.out.println("Enter a number for search: ");
						searchNumber = Float.parseFloat(new Scanner(System.in).nextLine());

						for (int i = 0; i < count; i++)
						{
							if (numbers[i] == searchNumber)
							{
								found = true;
							}
						}

						if (found)
						{
							System.out.printf("Number %1$s found a amount of %2$s " + "\r\n", numbers[i]);
						}
						else
						{
							System.out.println("Not found");
							found = false;
						}

						break;
					case 4: // Statistics

						System.out.printf("Total data: %1$s" + "\r\n", count + 1);
						System.out.printf("Sum: %1$s" + "\r\n", total);
						System.out.printf("Average: %1$s" + "\r\n", total / (count + 1));
						System.out.printf("Min number: %1$s" + "\r\n", min);
						System.out.printf("Max number: %1$s" + "\r\n", max);

						break;
					default:

						System.out.println("Error, option 1-5");
						break;
				}
			}
		} while (option != 5);
	}
}