sábado, 30 de marzo de 2013

listas y nodos

java desktop aplication problema

hola a todos.
 Les cuento que en las nuevas versiones que salen de java  después del 6.9 ya no tenemos mas el java desktop aplication esto lo hacen mas que todo para obligar a trabajar orientado a objetos, aunque es algo tedioso para lo novatos empezar y ademas pues se genera una complicación en el aprendizaje cuando una persona viene estudiando una versión anterior.
Entonces amigos les dejo la solución.

miércoles, 27 de marzo de 2013

taller de herencia y asociacion en java



1. Construya una clase que no pueda tener descendientes, similar a la clase Math de java, de tal forma que dicha clase permita calcular el valor máximo, el mínimo, la sumatoria y la media aritmética de un array de números reales dados como parámetro.

2. Construya una clase que permita almacenar objetos de las clases Float, Double, Integer, Long, Short y Byte. Dicha clase proporcionará métodos para guardar objetos, métodos para consultar dichos objetos almacenados y devolverlos como los objetos que son, métodos para consultar dichos objetos almacenados y devolverlos como una representación primitiva de esos objetos y métodos para vaciar  ó “eliminar” los objetos guardados en el arreglo.

3. Construya un poo que permita crear y guardar diferentes tipos de figuras geométricas. Además ese programa permitirá calcular el área de una figura almacenada, obtener su nombre, sus características (sobre-escribir el método toString), calcular la sumatoria del área de todas las figuras almacenadas, obtener el número de figuras almacenadas, conocer si una figura ya se encuentra y retirar una figura que ha sido almacenada.

4. En la universidad el salario básico de los empleados es el salario mínimo multiplicado por el ipc del año anterior, pero a partir de allí cada uno de los empleados puede obtener un salario diferente dependiendo de las siguientes condiciones:
Si el empleado es administrativo y es casado: su salario es el triple del salario básico menos una retención de mil veces su edad.
Si el empleado es administrativo y es soltero: su salario es el salario básico determinado más un valor fijo de cien veces el año actual.
Si el empleado es docente del colegio: su salario es el doble del salario básico.
Si el empleado es docente de tiempo completo: su salario es el salario del docente del colegio más el 40%.
Si el empleado es docente de medio tiempo: su salario es el salario del docente del colegio más el 20%.
Si el empleado es docente de cátedra: su salario es el salario del docente del colegio menos una retención de mil veces su edad.
Elabore un poo para que permita crear empleados e inmediatamente le informe el valor de su salario.

semaforo en java


public class ColorAmarillo {
    private String luz ;
    public ColorAmarillo()
    {
        this.luz = "amarillo"; 
    }
    public String getLuz()
    {
        return this.luz;
    }
}

// vamos a dividir todo en clases para poderlo manejar como objetos


public class ColorRojo {
    private String luz ;
    public ColorRojo()
    {
        this.luz = "rojo"; 
    }
    public String getLuz()
    {
        return this.luz;
    }
    
}

//separemos los colores


public class ColorVerde {
    private String luz ;
    public ColorVerde()
    {
        this.luz = "Verde"; 
    }
    public String getLuz()
    {
        return this.luz;
    }
    
}

//crearemos una clase temporizador que viene a ser el funcionamiento interno del semaforo


public class Temporizador {
    public void semaforoprendido(int velocidad) throws InterruptedException
    {
        ColorAmarillo a = new ColorAmarillo();
        ColorRojo r= new ColorRojo();
        ColorVerde v = new ColorVerde();
        while (true)
        {
            System.out.println(r.getLuz());
            Thread.sleep(velocidad);
            System.out.println(a.getLuz());;
            Thread.sleep(velocidad/2);
            System.out.println(v.getLuz());
            Thread.sleep(velocidad);
            Thread.sleep(velocidad/2);
        }
    }    
}


// la calse semaforo que es la principal o raiz

import javax.swing.JOptionPane;
public class Semaforo {
    public static void main(String[] args) throws InterruptedException
    {
        int vel=3000;
        try
        {
        vel = Integer.parseInt(JOptionPane.showInputDialog("digite la velocidad y ok para iniciar el semaforo"));
        }
        catch(Exception e)
        {
            vel=300;
        }
        Temporizador s = new Temporizador();
        s.semaforoprendido(vel);
    }
    
}






lista simple en java


public class bagon {
    public int numero;
    public Bagon bsiguiente;//vagon siguiente es un apuntador a un objeto del mismo tipo osea el guarda la direccion de //memoria de

    public Bagon()
    {
        this.numero=0;
        this.bsiguiente=null;
    }

}
//vamos a visualizarlo como si fuera un tren
//primero creamos la clase vagón
//ya que las listas son como un tren de información
//en otra clase aparte creamos este codigo con un boton  y un //textbox para irlos añadiendo 

ejemplo del codigo que debe de ir dentro del boton

public Bagon cabina=null;
//esto se declara antes del boton para asegurarse que la lista empiece en null
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

        Bagon tren;
        Bagon bnuevo= new Bagon();
        bnuevo.numero = Integer.parseInt(jTextField1.getText());
        bnuevo.bsiguiente=null;
        if (cabina == null){//comprueba si la lista esta vacia
            cabina = bnuevo;
            bnuevo.bsiguiente=null;
        }
 else{
            tren=cabina;// apuntador que va a recorrer todas las posiciones de la lista
            while (tren.bsiguiente!= null){
                tren = tren.bsiguiente;
            }
            tren.bsiguiente = bnuevo;

 }

    } 

sábado, 23 de marzo de 2013

Lista simple enlazada

//vamos a  crear primero un objeto que se llame estudiantes con todas sus caracteristicas


public class Estudiantes {
public String nom,  apell,dir, tel,ciudad;
        private int  codigo;
public Estudiantes siguiente;  
        public static int cod=100;
        public Estudiantes()
        {
            cod +=1;
            this.codigo=cod;
        }
     
        public int getCod()
        {
            return this.codigo;
        }
}

//despues creamos la clase que llena la lista


public Estudiantes listaEstudiantes = null;
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) 
//en esta clase en la parte visual cree un boton para ingresar el estudiante y una serie de cajones de texto //para poder ingresar los datos del estudiante
{                                      
        Estudiantes apuntador;
        Estudiantes nuevo = new Estudiantes();
        nuevo.nom = t1.getText();//t1 se llama mi caja de texto donde va el nombre la tuya se puede llamar como quieras.
        nuevo.apell =t2.getText();
        nuevo.dir = t3.getText();
        nuevo.tel =t4.getText();
        nuevo.ciudad =t5.getText();
        nuevo.siguiente=null;
        if (listaEstudiantes == null)
        {
            listaEstudiantes = nuevo;
        }
        else
        {
            apuntador= listaEstudiantes;
            while(apuntador.siguiente!=null)
            {
                apuntador = apuntador.siguiente;
            }
            apuntador.siguiente=nuevo;
        }
        t1.setText("");
        t2.setText("");
        t3.setText("");
        t4.setText("");      
        t5.setText("");
     
    }

viernes, 22 de marzo de 2013

ejemplo de herencia en programación orientada a objetos

esta seria la clase madre


package ejercicio3;

public abstract class figura {
//se declara clase  abstracta
    private  String nombre;
    private double area;
    public figura(){};
    public abstract double getArea();
    public abstract String getNombre();
    public abstract int getNumFiguras();   
   
}

esta es la clase circulo que es una hija de la clase figura 
y te preguntas pero como asi que una hija?
ósea que la clase circulo es una figura pero sus métodos tienen ya información.
Esto nos sirve para crear varias clases con los mismos nombres de métodos 
pero con diferentes procesos. OJO esto no es sobrecarga de métodos, es herencia
por eso los tienen los mismos métodos aunque cada figura puede tener diferentes atributos

public class Circulo extends figura{

    double r;
    public static int cantidadCirculos=0; //esto de static quiere decir que cada vez que crees una clase de este tipo esa variable siempre va a ser la misma para todas las clases.
    public Circulo()
    {
        cantidadCirculos+=1;
        this.r=2;
    }
    public Circulo(double radio)
    {
        this.r= radio;
        cantidadCirculos+=1;
    }
   
    public double getArea() {
        return Math.PI*r*r;
    }

   
    public String getNombre() {
        return"circulo";
    }
    public int getNumFiguras()
    {
        return cantidadCirculos;//este metodo me devuelve la cantidad de circulos del array(vector)
    }
   
    public String toString()
    {
        return "circulo de radio " + r;
    }

}
cree una clase vector para que me almacenara todo tipo de figuras 
public class Vector {

    figura[] figuras;// declaración de un vector en java
  public static double sumatoriaAreas=0;
   public Vector(int tamañoVector)
   {
       figuras= new figura[tamañoVector];
   }