lunes, 25 de julio de 2011

PRACTICA


crear un sistema que simule la aduana.

package adb;

/**
 *
 * @author Romina
 */
public class Aduana {
    private String nombre;
    private String tipo;
    private String chasis;
    private String motor;
    private int modelo;
    private String color;
    private double costo;
  
    public Aduana(){
        nombre = "";
        tipo = "";
        chasis = "";
        motor = "";
        modelo = 0;
        color = "";
        costo = 0.0;
      
    }
    public Aduana(String nombre, String tipo, String chasis,
          String motor, int modelo, String color, double costo){
        this.nombre = nombre;
        this.tipo = tipo;
        this.chasis = chasis;
        this.motor = motor;
        this.modelo = modelo;
        this.color = color;
        this.costo = costo;
    }
    public void setNombre(String nombre){
        this.nombre = nombre;
    }
    public void setTipo(String tipo){
        this.tipo = tipo;
    }
    public void setChasis(String chasis){
        this.chasis = chasis;
    }
    public void setMotor(String motor){
        this.motor = motor;
    }
    public void setModelo(int modelo){
        this.modelo = modelo;
    }
    public void setColor(String color){
        this.color = color;
    }
    public void setCosto(double costo){
        this.costo = costo;
    }
  
    public String getNombre(){
        return nombre;
    }
    public String getTipo(){
        return tipo;
    }
    public String getChasis(){
        return chasis;
    }
    public String getMotor(){
        return motor;
    }
    public int getModelo(){
        return modelo;
    }
    public String getColor(){
        return color;
    }
    public double getCosto(){
        return costo;
    }
    public double getCostoNacionalizacion(){
 
        if((modelo >= 2010)&&(modelo <= 2012)){
            costo = costo * 0.30;
        }
        if((modelo >= 2005)&&(modelo <= 2009)){
            costo = costo * 0.50;
        }
        if((modelo >= 1990)&&(modelo <=2004)){
            costo = costo * 0.60;
        }
        return costo;
    }
 
}

* To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package adb;

import adb.Lista.ExcepcionListaVacia;

/**
 *
 * @author Romina
 */
public class Cola {
    private Lista listaCola;
  
    public Cola(){
     listaCola = new Lista("cola");
    }
    public void enqueue(Object objeto){
      listaCola.insertarAlFinal(objeto);
    }
  
    public Object dequeue() throws ExcepcionListaVacia{
      return listaCola.eliminarDelFrente();
    }
    public boolean estaVacia(){
     return listaCola.estaVacia();
    }
    public void imprimir(){
     listaCola.imprimir();
    }
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package adb;

/**
 *
 * @author Romina
 */
public class Hilo extends Thread {

    Splashcreen ref;

    public Hilo(Splashcreen ref) {
        this.ref = ref;
    }

    @Override
    public void run() {
        while (true) {
            try {
                Thread.sleep(100);
                ref.Llenar_Barra();

            } catch (InterruptedException ex) {

            }
        }
    }
    
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package adb;

/**
 *
 * @author Romina
 */
public class Lista {
   private Nodo primerNodo;
    private Nodo ultimoNodo;
    private String nombre;
    Object datoRemover;
    int pos = 0;      
    public Lista(){
        this("lista");
    }
    public Lista(String nombreLista){
        nombre = nombreLista;
        primerNodo = ultimoNodo = null;
    }
    public boolean estaVacia(){
        return primerNodo == null;
    }
    public void insertarAlFrente(Object elementoInsertar){
        
        if(estaVacia())
            primerNodo = ultimoNodo = new Nodo(elementoInsertar);
        else
            primerNodo = new Nodo(elementoInsertar, primerNodo);
    }
    public void insertarAlFinal(Object elementoInsertar){
        
        if(estaVacia())
            primerNodo = ultimoNodo = new Nodo(elementoInsertar);
        else 
            ultimoNodo = ultimoNodo.siguienteNodo = new Nodo(elementoInsertar);
    }
    public Object eliminarDelFrente() throws ExcepcionListaVacia{
        if(estaVacia())
            
            throw new ExcepcionListaVacia(nombre);
            
        Object elementoEliminado = primerNodo.datos;
        
        if(primerNodo == ultimoNodo)
            primerNodo = ultimoNodo = null;
        else
            primerNodo = primerNodo.siguienteNodo;
        return elementoEliminado;
    }
    public void insertarNpos(Object elementoInsertar, int pos){
        if(estaVacia())
            //insertarAlFrente();
        if(pos == 1){
            //insertarAlFrente();
        }
        if(pos == cantNodo()){
            //insetarAlFinal();
        }
        else{
            Nodo actual = primerNodo;
            for(int i = 0 ; i < pos - 1; i++){
                actual = actual.siguienteNodo;
                Nodo nuevo = new Nodo(elementoInsertar, actual.siguienteNodo);
            }
        }
    }
    public Object eliminarDelFinal() throws ExcepcionListaVacia{
        
        if(estaVacia())
            
            throw new ExcepcionListaVacia(nombre);
            
        Object elementoEliminado = ultimoNodo.datos;
            
        if(primerNodo == ultimoNodo)
            primerNodo = ultimoNodo = null;
        else{
            Nodo actual = primerNodo;
            
             
        while(actual.siguienteNodo != ultimoNodo)
            actual = actual.siguienteNodo;
        
        ultimoNodo = actual;
        actual.siguienteNodo = null;
        }
       return elementoEliminado;
    }
    public Object eliminarNpos() throws ExcepcionListaVacia{
        
        if(estaVacia())
            
            throw new ExcepcionListaVacia(nombre);
            
              
                if(pos == 1){
                    eliminarDelFrente();
                }
                else{
                if(pos == cantNodo()){
                    eliminarDelFinal();
                }
                }
                
                   Object elementoEliminado = ultimoNodo.datos;
                
              if(primerNodo.equals(ultimoNodo)){
                    primerNodo = ultimoNodo = null;
                    
                    return elementoEliminado;
              }
                
                    
                    Nodo actual = primerNodo;
                    for(int i = 1 ; i < pos ; i++){
                        actual = actual.siguienteNodo;
                         elementoEliminado  = (actual.siguienteNodo).datos;
                        actual.siguienteNodo = (actual.siguienteNodo).siguienteNodo;
                        (actual.siguienteNodo).siguienteNodo = null;
                        
                    
                    }
                
                    return elementoEliminado;
                }
                
    public void imprimir(){
        
        if(estaVacia()){
            System.out.printf("%s Vacia\n", nombre);
        return;
    }
        System.out.printf("La %s es: ", nombre);
        Nodo actual = primerNodo;
        
        while(actual != null){
            System.out.printf("%s ", actual.datos);
            actual = actual.siguienteNodo;
        }
        System.out.println("\n");
    }

    public int cantNodo() {
        Nodo actual = primerNodo;
        int cant = 0;
        while(actual != null){
            cant++;
            actual = actual;
        }
        return cant;
    }

        public class ExcepcionListaVacia extends RuntimeException{
        
         public ExcepcionListaVacia(){
            this("lista");
        }
         public ExcepcionListaVacia(String nombre){
             super(nombre + "Esta Vacia");
         }
         
    }
 }
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package adb;

/**
 *
 * @author Romina
 */
public class Nodo {
    Object datos;//los datos para este nodo
    Nodo siguienteNodo;//referencia al siguiente nodo de la lista
    
    //el constructor crea un objeto Nodo que hace referencia al objeto
    Nodo(Object objeto){
        this(objeto, null);
    }
    Nodo(Object objeto, Nodo nodo){
        datos = objeto;
        siguienteNodo = nodo;
    }
    Object obtenerObject(){
        return datos;
    }
    Nodo obtenerSiguiente(){
        return siguienteNodo;
    }
}
*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package adb;

/**
 *
 * @author Romina
 */
public class Pila extends Lista{
    
    public Pila(){
        super("pila");
    }
    public void push(Object objeto){
        insertarAlFrente(objeto);
    }
    public Object pop() throws ExcepcionListaVacia{
        return eliminarDelFrente();
    }
}


Artigos Relacionados

0 comentarios:

Publicar un comentario