adsense

miércoles, 14 de agosto de 2013

Ejercicio orientado a objetos con la clase numero




public class Numero {
    int n;
    int contador = 0;
    int acumulador =1;
    int SumaDePares=0;
    public Numero( int num)
    {
        this.n= num;
    }
    public void parImpar()
    {
        if(this.n %2==0)
        {
            System.out.println("es par");
        }
        else{
            System.out.println("no es par");
        }
    }
    public void primo()
    {
        for(int i=1; i<= this.n; i++)
        {
            if(this.n%i==0)
            {
                contador++;
            }
        }
        if(contador>2)
        {
            System.out.println("no es primo");
        }
        else
        {
            System.out.println("si es primo");
        }
 
    }
    public void factorial()
    {
       for(int i=1; i<= this.n; i++)
        {
           acumulador = acumulador * i;
     
        }
       System.out.println(acumulador);
    }
        public void SumaPares()
    {
       for(int i=1; i<= this.n; i++)
        {
           if(i%2==0)
           {
               SumaDePares +=i;
           }
     
        }
       System.out.println(SumaDePares);
    }
 
 
}
__________________________________________

public class OperacionesConNumero {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Numero a = new Numero(5);
        a.SumaPares();
        a.factorial();
        a.parImpar();
        a.primo();
    }
}


martes, 13 de agosto de 2013

LA FAMOSA CLASE FIGURA

en esta clase  podemos ver que existe una clase abstracta y esta es la que se define como clase madre de la cual heredan todas las otras clases


package ejercicio3;

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

public class cuadrado extends figura {
    private double lado;
    public static int cantidadCuadrados=0;

public cuadrado()
{
    this.lado=2;
}
public cuadrado(double l)
{
    this.lado=l;
}
    @Override
    public double getArea() {
        return (this.lado*this.lado);
    }

    @Override
    public String getNombre() {
        return "cuadrado";
    }
        public int getNumFiguras()
    {
        return cantidadCuadrados;
    }
       public String toString()
    {
        return "cuadrado de lado " + this.lado;
    }
}
///////////////////////////////////////////////////////////////////////

public class triangulo extends figura{

    private double base, altura;
        public static int cantidadTriangulos=0;

    public triangulo()
    {
        this.base=2;
        this.altura=4;
    }
    public triangulo(double b,double a)
    {
        this.base = b;
        this.altura=a;
    }
    public double getArea() {
        return this.base*this.altura/2;
    }

    @Override
    public String getNombre() {
       return"triangulo";
    }

 
    public int getNumFiguras() {
        return cantidadTriangulos;
    }
    public String toString()
    {
        return "triangulo de base "+ this.base +" y altura " + this.altura;
    }
 
 
}
//////////////////////////////////////////////////////////////////
public class Rectangulo extends figura{
    private double base;
    private double altura;
    public static int cantidadRectangulos=0;
   
    public Rectangulo()
    {
     this.altura=2;
     this.base=4;
    }
    public Rectangulo(double b, double a)
    {
        this.base=b;
        this.altura=a;
    }
    public String getNombre()
    {
        return "rectangulo";
    }
        public int getNumFiguras()
    {
        return cantidadRectangulos;
    }

   
    public double getArea() {
        return base*altura;
        
    }
        public String toString()
    {
        return "Rectangulo de base "+ this.base +" y altura " + this.altura;
    }  
}


////////////////////////////////////////////////
public class Circulo extends figura{

    double r;
    public static int cantidadCirculos=0;
    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;
    }
    
    public String toString()
    {
        return "circulo de radio " + r;
    }

}
///////////////////////////////////////////////////////////////////


public class Vector {
    figura[] figuras;
    public static double sumatoriaAreas=0;
   public Vector(int tamañoVector)
   {
       figuras= new figura[tamañoVector];
   }
   public void addFiguras(int pos)
   {
       int eleccion = SimpleInput.getInteger("[1]circulo [2]cuadrado [3]triangulo [4]rectangulo");
       if (eleccion ==2)
       {
           figura c= new cuadrado(SimpleInput.getDouble("digite el lado"));
           figuras[pos]= c;
           sumatoriaAreas +=c.getArea();
           
       }
              if (eleccion ==1)
       {
           figura c= new Circulo(SimpleInput.getDouble("digite el radio"));
           figuras[pos]= c;
           sumatoriaAreas +=c.getArea();
       }
       if (eleccion ==3)
       {
           figura c= new triangulo(SimpleInput.getDouble("base"), SimpleInput.getDouble("altura"));
           figuras[pos]= c;
           sumatoriaAreas +=c.getArea();
       }
       if (eleccion ==4)
       {
           figura c= new Rectangulo(SimpleInput.getDouble("base"), SimpleInput.getDouble("altura"));
           figuras[pos]= c;
           sumatoriaAreas +=c.getArea();
       }
       
   }


    double getSumatoria() {
        return sumatoriaAreas;
    }

}
////////////////////////////////////////////
public class Buscar {
   public figura[] lista ;
   public  static String busqueda;
    
    public Buscar(figura[] v,String nombreFigura)
    {
        lista=v;
        busqueda=nombreFigura;
    }
    public int BuscarFigura(){
        int pos=-1;
        
      for(int i =0;i<lista.length;i++)
      {
            if(lista[i].getNombre().compareTo(busqueda)==0)
               
            {
               pos =i; 
            }
      }
       return pos;
        
    }
    
}
//////////////////////////////////////////////////
public class main3 {
    public static void main(String[] args) {
     boolean sw=true;
     double sumatoria=0;
     
     Vector v= new Vector(SimpleInput.getInteger("digite la cantidad de figuras a almacenar")); //Crea un objeto vector de
    
     //tipo object donde se almacenan todas las figuras
    
    
    
     //---------------------------------------
     //este es el ciclo for para llenar el vector con todas las figuras
     for(int i =0;i<v.figuras.length;i++)
     {
         v.addFiguras(i);  
     }
     
     
    double sumaAreas= v.getSumatoria();
    System.out.println("la suma de todas las areas ingresadas es de: "+ sumaAreas);
   
    //ciclo for para mostrar cada figura con sus atributos
    for(int i =0;i<v.figuras.length;i++)
     {
         v.figuras[i].toString();  
     }
    
    //este metodo a continuacion es para crear un menu de eleccion
    while (sw)
    { 
       Buscar b;
       System.out.println("[1] conocer area de una figura almacenada");
       System.out.println("[2] obtener propiedades de una figura");
       System.out.println("[3] obtener el numero de figuras que existen de un tipo");
       System.out.println("[4] buscar una figura y eliminar");
       System.out.println("[5] terminar");
       int eleccion = SimpleInput.getInteger("");
       if (eleccion == 1)
       {
           try{
          int posicion = SimpleInput.getInteger("posicion de la figura");
            System.out.println("el area del "+v.figuras[posicion-1]+" en la posicion "+posicion+" es: "+v.figuras[posicion-1].getArea());
            //este es un buscador de objetos y devuelve su posicion
           }
           catch(Exception e)
           {
               System.out.println("no exite tal posicion");
           }
            
       }
       if (eleccion == 2)
       {
           
          int pos = SimpleInput.getInteger("Posicion de la figura");
          if(pos<=v.figuras.length) {
               System.out.println("las propiedades de la figura en la pos "+pos+" es: " +v.figuras[pos-1].toString());
           }
            //este es un buscador de objetos y devuelve su posicion
          
          
            
       }
       if (eleccion == 3)
       {
          String nombre = SimpleInput.getString("nombre de la figura");
          
            b= new Buscar(v.figuras,nombre);
            int pos = b.BuscarFigura();
            if (pos!=-1){
            System.out.println("la cantidad de "+nombre+"s es:" +v.figuras[pos].getNumFiguras());
            //este es un buscador de objetos y devuelve su posicion
          
            }    
            
       }
      if (eleccion == 4)
       {
          String nombre = SimpleInput.getString("nombre de la figura");
          
            b= new Buscar(v.figuras,nombre);
            int pos = b.BuscarFigura();
            if (pos!=-1){
                if(v.figuras[pos].getNumFiguras()>1)
                {
                    v.figuras[pos] =null;
                }
                
            //este es un buscador de objetos y devuelve su posicion
          
            }           
       }
       
    }

            
    
 }

    
}

crear un 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);
    }
    
}

programa para emparejar(relacionar) los objetos persona


public class Persona {
    String nombre;
    Persona pareja;
    public Persona(String nomb)
    {
        this.nombre = nomb;
        this.pareja= null;
    }
    public void setPareja(Persona par)
    {
        if (this.pareja == null && par.pareja==null)
        {
            this.pareja=par;
            par.pareja=this;
        }
        else{
            JOptionPane.showMessageDialog(null,"no se pueden triangulos amorosos");
         
         
        }
    }
    public String getPareja()
    {
        return this.pareja.nombre;
    }
    public void terminarNoviasgo()
    {
        this.pareja.pareja=null;
        this.pareja=null;
    }
 
}

Definicion de clase

una clase es un molde para hacer objetos, y tu diras si, ¿pero un molde como?.
simplemete creas un codigo que invocas para crear uno objeto

dentro de ella va el codigo de el objeto que vas a crear y sus respectivos metodos constructores(un metodo constructor es el que se invoca para crear un objeto en este caso la clase numero)
  ej:  creemos un objeto de numeros enteros
        int a,b,c;

public class numero{

           int numero1,numero2,numer3,
           public numero(int n, int n2, int n3) //este seria el metodo constructor
          {
                this.numero1 = n; this.numero2=n2; this.numero3 = n3;
          }
}

el constructor se invocaria desde otra clase con la intencion de crear un objeto en la memoria heap
de esta manera

numero una_variable_cualquiera = new numero(1,2,3);

esto crea un objeto en memoria que almacena tres numeros en este caso el objeto que creamos se llama una_variable_cualquiera y tiene los numeros 1,2,3
podria crear otro objeto ej:

numero pares = new numero(2,4,6);
ya tendriamos dos objetos y estamos usando la clase numero para crearlos entonces ahora me entiendes cuando digo que una clase es un molde de objetos y cada objeto es unico e irrepetible.

Bienvenida

algunos de los ejercicios que me han dado para resolver en la carrera los voy a solucionar en este blog, para que nos sirva de recuerdo y tambien para todos esos gomosos de la programacion