jueves, 21 de febrero de 2013

Clase Fecha y sus metodos

este algoritmo esta programado en java
es para mostrar como podemos crear objetos de tipo fecha y sus  atributos.
un algoritmo que  por si mismo no hace nada pero si implementas otro algoritmo en otra clase que invoque a esta y le llame sus metodos entonces crea fechas.

package ejerciciofechas;

public class Fecha {
    public int dia,mes,año;
    public Fecha(int d, int m, int a)
    {
       this.dia=d;
       this.mes=m;
       this.año=a;
    }
    //fin del primer constructor y comienzo del nuevo
    public Fecha()
    {
        this.dia=13;
        this.mes= 8;
        this.año=2012;
        
    }

    //fin de los constructores

    public int diferencia(Fecha f2)
    {
        int resultado;
        resultado = (this.dia- f2.dia)+ (this.mes- f2.mes)*30+(this.año-f2.año)*365;
        return resultado;
    }
    public int getDias()
    {
        return (this.dia);
    
    }

//fin metodo

    public String getNombreMes()
    {
        switch (this.mes)
        {
            case 1:
                return("Enero");
                
            case 2:
                return("Febrero");
            case 3:
                return"Marzo";
                
            case 4:
                return("Abril");
                
             case 5:
                return"Mayo";
                
            case 6:
                return("Junio");
                
            case 7:
                return"Julio";
                
                
            case 8:
                return("Agosto");
                
            case 9:
                return"Sptiembre";
                
                
            case 10:
                return("Octubre");
                
            case 11:
                return("Noviembre");
                
            case 12:
                return("Diciembre");
            default:
                return("no existe");
                        
                
        }
        
    }
    //fin del metodo

    public int getAño()
    {
        return(this.año);
    }

    //fin del metodo
    
    public void sumarDias(int x)
    {

        
        while (x>30&&x>0)
        {
            this.mes+=1;
            x=x-30;
            if (this.mes>12)
            {
                this.año+=1;
                this.mes=1;
            }
        }
       

        //este es por si es negativo y un numero grande
        
        while (x<-30&&x<0)
        {
           this.mes-=1;
            x=x+30;
            if (this.mes<1)
            {
                this.año-=1;
                this.mes=12;
            }
            
        } //controla que este dentro de un rango de 30
               
        if (x<30&&x>0)
        {
            this.dia += x;
            if(this.dia>30)
            {
                this.mes+=1;
                this.dia -=30;
                if (this.mes>12)
                {
                    this.año+=1;
                    this.mes -=12;
                }
            }
        }

        //estos dos if me controlan que no halla problemas con los multiplos de 30
        if (x==30)
        {
            
            this.mes+=1;
           
            if (this.mes>12)
            {
                año+=1;
                
            }

            
        }
        if (x==-30)
        {
            
            this.mes-=1;
           
            if (this.mes<1)
            {
                año-=1;
                
            }

            
        }

       
        
    }
    //fin del metodo
    
    
    
    public void cambiarMes( int x)
    {
        if (this.mes<12&&this.mes>0)
        {
            this.mes=x;
        }
        else
        {
            System.out.println("no es posible esto no existe tal mes");
        }
    }
    
    
    //fin del metodo
    
    
        public boolean bisiesto()
    {
        boolean sw;
         sw=false;
        if (this.mes%4==0)
        {
            if (this.mes %100==0)
            {
                if(this.mes%400==0)
                {
                    sw= false;
                }
                else
                {
                    sw= true;
                }               
            }
        }
        else
        {
            sw=false;
        }
        return sw;
    }
        //fin del metodo
        
    public int[] getFecha()
    {
        int[] arreglo = new int[3];
        arreglo[0]=this.dia;
        arreglo[1]=this.mes;
        arreglo[2]=this.año;
        
        return arreglo;
    }
    public Fecha mañana()
    {
        Fecha nueva= new Fecha();
       nueva.sumarDias(1);
        return nueva;
    }
    public Fecha Ayer()
    {
       Fecha nueva= new Fecha();
       nueva.sumarDias(-1);
        return nueva;
    }
    public Fecha nuevaFecha(int x)
    {
       Fecha nueva= new Fecha();
       nueva.sumarDias(x);
        return nueva;
    }

}

martes, 19 de febrero de 2013

sintaxis de un timer en java

algoritmo que crea un temporizador en java
Timer

int s=0;
Timer timer = new Timer(1000, new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) 
  {
                
                //ejemplo s++;
              //                     jTextField1.setText(""+s);

//aca todo el codigo
                    }
 });  
timer.start();
timer.stop();

archivos en java

Para seleccionar archivo por un jfilechooser en java
metodo grafico para llamar un archivo en este caso un archivo de audio


JFileChooser archivo = new JFileChooser();
    archivo.showOpenDialog(new JWindow());
    File audio = archivo.getSelectedFile();
    nombreDelArchivo = audio.getAbsolutePath();
    jTextField1.setText(nombreDelArchivo);

para  obtener un archivo de audio wav


   InputStream seleccion = null;
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            seleccion = new FileInputStream(nombreDelArchivo);
        } catch (FileNotFoundException ex) {
            JOptionPane.showMessageDialog(this, "algo esta mal");
        }
        try {
            AudioStream  a = new AudioStream(seleccion);
            AudioPlayer.player.start(a);
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(this, "algo esta mal");
        }
         

    }

entremos a programación orientada a objetos y estructuras de datos

bienvenidos al 4to semestre de ingenieria ahora veremos dos materias que serán de mucha ayuda POO y Estructuras de datos en POO veremos como aprender a manejar objetos y su definicion y en estructuras aprenderemos de listas simples , dobles, doblemente enlazadas, entre otros