Está en la página 1de 3

Ejercicio Realizar la codificacin del siguiente subsistema:

Calculador -calculadora -sumar() -dividir() +promedio() Almacen +mostrarPromedio()

-prods

0..*

Producto

Caractersticas: La clase Almacen contiene todos los productos vendidos por la empresa. La clase Almacen debe proveer un mtodo que muestre el promedio de precios de todos los productos que posee. El promedio debe ser calculado a travs de los mtodos provistos por la clase Calculador.

RESOLUCION package Almacenes; class Producto { String nombre; float precio; //este cdigo se encuentra en un paquete (directorio) llamado Almacenes //Definicin de la clase Producto

public Producto(String n, float p) { nombre = n; precio = p; } } class Calculador { private float suma(Producto pr[]) { float resu=0; for(int i=0;i<pr.length; i++) { Producto p = pr[i]; resu = resu + p.precio; } return resu; }

//mtodo constructor de Producto //sirve para inicializar los atributos nombre //precio con los parmetros n y p

//Definicin de la clase Calculador //Mtodo que suma. Es privado y solo puede ser invocado por //otros mtodos de esta misma clase. //recorrer todos los productos que recib como parmetro //saco el Producto i-simo del arreglo //sumo su precio //devolver la sumatoria de todos los precios del arreglo

private float dividir(float a, float b){ //este mtodo solo divide y puede ser invocado solamente por float resu=0; //mtodos de la misma clase. (Es privado y no puede ser resu = a / b; //accedido fuera de la clase. return resu; } public float promedio(Producto pr[]) { //calcula el promedio de todos los Productos en pr float prome=0; float aux=0; aux = suma(pr); prome = dividir(aux, pr.length); return prome; } } //para calcular el promedio invoco a sumar() y dividir()

class Almacen { String direccin; private Producto prods[]; private Calculador c = new Calculador(); public void mostrarPromedio(){ System.out.println( c.promedio(prods) ); } public void setProds(Producto[] prods) { this.prods = prods; } } //CLASE PRINCIPAL public class Main { public static void main(String[] args) { //mtodo principal. Ac comienza todo //Creo un objeto Almacen Almacen a = new Almacen(); //crear algunos productos Producto a1 = new Producto("clavo" , 1.50f ); Producto a2 = new Producto("tornillo" , 2.00f ); Producto a3 = new Producto("lijas" , 4.00f ); //creo un arreglo de 3 productos Producto pr[] = new Producto[3]; pr[0] = a1; pr[1] = a2; pr[2] = a3; //"Meto" estos productos en el objeto Almacen a.setProds(pr); //a.prods = pr no se puede, es privado! //mostrar el promedio de precios que tiene el Almacen a.mostrarPromedio(); } } //necesito crear un Calculador //para calcular el promedio de todos los prods

//necesito este mtodo al ser privado

También podría gustarte