Código Java: Registro de Precios de Productos con Arrays, Consulta y Promedios
Programa en Java para la gestión de precios de productos
A continuación se presenta un programa en Java que permite registrar productos y sus precios diarios, consultar un producto, imprimir el promedio de precios y mostrar el producto con mayor precio promedio.
Código fuente
import java.io.*;
import disc.*;
class Prueba3e1 {
public static double[][] precio = new double[100][30];
public static double[] prom = new double[100];
public static String[] producto = new String[100];
public static int n = 0;
public static void main(String args[]) throws IOException {
int op;
do {
PantallaSalida.println("1) Registrar Productos y Precios");
PantallaSalida.println("2) Consultar Producto");
PantallaSalida.println("3) Imprimir Promedio de los precios");
PantallaSalida.println("4) Imprimir Producto con mayor precio");
PantallaSalida.println("5) Salir");
op = PantallaEntrada.getInt();
switch (op) {
case 1:
ingresar();
break;
case 2:
PantallaSalida.println("Ingrese producto a buscar:");
String nombre = PantallaEntrada.getString();
int pos = consultar(nombre);
PantallaSalida.println("Precios de producto " + nombre);
for (int i = 0; i < 30; i++) {
PantallaSalida.println("precio dia " + i + " = " + precio[pos][i]);
}
break;
case 3:
imprimir_promedio();
break;
case 4:
imprimir_mayor();
break;
}
} while (op != 5);
}
public static void ingresar() throws IOException {
PantallaSalida.println("Ingrese N:");
n = PantallaEntrada.getInt();
for (int fila = 0; fila < n; fila++) {
PantallaSalida.println("Ingrese producto " + fila);
producto[fila] = PantallaEntrada.getString();
double sum = 0;
for (int col = 0; col < 30; col++) {
PantallaSalida.println("Ingrese precio dia " + col);
precio[fila][col] = PantallaEntrada.getDouble();
sum = sum + precio[fila][col];
}
prom[fila] = sum / n;
}
}
public static int consultar(String nom) {
int pos = 0;
for (int i = 0; i < n; i++) {
if (producto[i].equals(nom)) {
pos = i;
}
}
return pos;
}
public static void imprimir_promedio() {
for (int i = 0; i < n; i++) {
PantallaSalida.println("Promedio de " + producto[i] + " = " + prom[i]);
}
}
public static void imprimir_mayor() {
int pos = 0;
double mayor = prom[0];
for (int i = 0; i < n; i++) {
if (mayor < prom[i]) {
mayor = prom[i];
pos = i;
}
}
PantallaSalida.println("El mayor precio es " + producto[pos] + " = " + prom[pos]);
}
Observaciones
Este código utiliza arrays bidimensionales para almacenar los precios de cada producto durante 30 días, y arrays unidimensionales para los nombres y promedios. Las funciones ingresar(), consultar(), imprimir_promedio() e imprimir_mayor() encapsulan cada una de las operaciones principales del programa.