viernes, 3 de junio de 2011

Semana 06: Apoyo para el parcial del curso de Algoritmo de Estructura de datos (Parte III)

Cree la clase Automóvil en el paquete examen y declare los siguiente atributos como privados: codigo (int), marca (String), año (int) y precio soles (double). La clase debe tener las siguientes variables estáticas con acceso privado: tipo de cambio, contador de automóviles, el  precio en soles acumulado de todos los automóviles, el mayor y menor precio de todos los automóviles

Implemente los siguientes métodos:

a)      Un constructor que inicialice a los atributos.
b)      Métodos de acceso: set/get para un atributo.
c)      Un método que retorne el precio del automóvil en dólares.

El tipo de cambio del dólar se debe inicializar con 3.00 soles y en cero el contador y el acumulador. Para ello, utilice inicializadores estáticos.

En la clase principal (donde está la  GUI) implemente lo siguiente:

a)      Cree un objeto de tipo Automóvil cada vez que se pulse el botón Procesar. Los datos serán capturados de la  GUI.
b)      Cree un método listar que imprima todos los atributos del Automóvil, el tipo de cambio actual del dólar y el precio del automóvil en dólares.
c)      Imprima la cantidad de automóviles creados.
d)      Imprima el precio acumulado en soles de todos los automóviles.
e)      Modifique el tipo de cambio del dólar a 3.20 soles. Luego, imprima el nuevo precio del automóvil en dólares.

Asuma la existencia de los métodos para la captura de datos de la GUI

SOLUCIÓN:

package examen;
public class Automovil{

//atributos de instancia
private int codigo;
private String marca ;
private int año;
private double precio;

//atributos de clase
private static double tc ;
private static int contador;
private static double acumulado, tipoCambio, mayPrecio, menPrecio;

//bloque estático
static{
tc=3.0;
contador=0;
acumulado=0;
tipoCambio = 3.00;
}          

//constructor
public Automovil(int codigo,
   String marca,
   Int año,
    double precio){
this.codigo = codigo;
this. marca = marca;
this. año = año;
this. precio = precio;

contador++;
acumulado+= precio;
if(contador ==1){
            mayPrecio = precio;
            menPrecio = precio;
}else{
            If(precio> mayPrecio){
                        mayPrecio = precio;
            }
            If(precio< menPrecio){
                        menPrecio = precio;
            }
}
}
//get y set

public static double getPrecioDolares(){
            return tipoCambio*precio;
}
public static int getCantidad(){
            return cantidad;
}
public static double getAcumulado(){
            return acumulado;
}
public static void  setTipoCambio (int
tipoCambio){
            tipoCambio = tipoCambio;
}
}

//codigos en la clase donde está el botón procesar

public void ingresar(){
            Automovil x = new Automovil(getCodigo(),getMarca(),geAño(),getPrecio());
            listar(x);
}

Public void listar(Automovil x){
            imprimir(x.getCodigo());
imprimir(x.getMarca());
imprimir(x.getAño());
imprimir(x.getPrecio());
imprimir(Auto. getCantidad ());
imprimir(Auto. getAcumulado ());

            Auto.setTipoCambio(3.20);
imprimir(x.getPrecio());

}

3 comentarios:

  1. Profesor me gustaria consultarle en la parte de los metodos get y set porque pone como objeto para tomar los enunciados static
    EJEMPLO: imprimir(Auto. getCantidad ());

    ResponderEliminar
  2. Para llamar a un método estático puede ser a través de un objeto x , o a través de la clase Auto.

    ResponderEliminar
  3. Ojo solo para métodos estáticos, pero no para los no estáticos

    ResponderEliminar