martes, 20 de septiembre de 2011

Practica de polimorfismo






 CLASE MAIN

 package polimorfismo;

import java.util.Scanner;


/**
 *
 * @author JABES
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
   
   Cuadrado cuadra = new Cuadrado(5,4,8);
   Circulo circu = new Circulo(6,2,2);
 
   System.out.println("El area de los Cudrado es: "+cuadra.area());
   System.out.println("El area del circulo es: "+circu.area());

 
 
    }
}


CLASE FIGURA

package polimorfismo;

/**
 *
 * @author JABES
 */
public abstract class Figura {
   
    protected double x;
    protected double y;
   
    public Figura(double x, double y){
        this.x=x;
        this.y=y; 
           
       
    }
   
    //Como para  parte de la sintaxis de abstract debes de declarar el metodo en el que aras uso
    //del polimorfismo
    public abstract double area();   

}


CLASE CUADRADO

package polimorfismo;

/**
 *
 * @author JABES
 */
public class Cuadrado extends Figura {
    private double lado;
   
    public Cuadrado(double x, double y, double lado){
        super(x, y);
        this.lado=lado;
       
       
    }
    public double area(){
       return lado*lado;
       
    }
          
   
}




CLASE CIRCULO

package polimorfismo;

/**
 *
 * @author JABES
 */
public class Circulo extends Figura {
private double radio;

public Circulo(double x, double y, double radio){
 super( x, y ); 
 this.radio=radio;
   
}
   
    @Override
 public double area(){
     return Math.PI*radio*radio;
        
    
 }  
   
   
}

Practica de metodos Sobrecargados

      Descarga codigo aqui


  

CLASE MAIN

package metodossobrecargados;

/**
 *
 * @author JABES
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        Sobrecargo carga =new Sobrecargo();
        int a=2;
        int b=3;
        carga.Numeros(4, 5);
        carga.Numeros(3.3, 4.2);
        carga.Numeros("jabes rivera");
    }

  
}


CLASE SOBRECARGO

package metodossobrecargados;

/**
 *
 * @author JABES
 */
public class Sobrecargo {

  public void Numeros(int x, int y){
      System.out.println("Este metodo recive enteros. " +x+" y "+y);
     
  }     
  public void Numeros(double x, double y){
      System.out.println("este metodo revibe flotantes: "+x+" y "+y);
     
  }
  public void Numeros(String Cadena){
      System.out.println("este metodo recibe cadena: "+Cadena);
     
  }
}

Practica de herencia




                                       DESCARGA CODIGO AQUI

 
CLASE MAIN

package herencia;

import java.text.SimpleDateFormat;
import java.util.Date;
/**
 *
 * @author JABES
 */
public class Main {

    /**
     * @param args the command line arguments
     */
  
   
    public static void main(String[] args) {
        /*
         *
         */
     SimpleDateFormat fecha = new SimpleDateFormat("dd/ MM / yyyy");  
    
        // Instaciamos los onbjetos de las clases  a los cuales agregaremos valores, cabe mencionar que el mismo numero de para
     //parametros que se insgtanciaron en las otrar clases, es el mismo numero de valores qeu se agregaran
     // en constructor en el mismo orden y tipo.
     Alumno Al=new Alumno("26/12/1986","Masculino","Jabes","RIVERA","Martinez","Morelos","01/03/2010","A","TIC","sistemas");
    Persona Per =new Persona("26/12/1986","HOMBRE","Jabes","RIVERA","Martinez","Moreols");
   Profesor pro =new Profesor("23/09/1987", "MASCULINO","JOSE","SERVANTES","SANDEL","TABASCO","MAESTRO","INGENIERO","ISC","PROGRAMCION","TIC");
   /*
    * imprimimos en panatalla nuestros metodos, mostrar, calculaMatricula, calculaEdad,
    * calculaCurp y rfc.
    */
    System.out.println("---------------------------Alumno-----------------------------------");
    System.out.println(Al.mostrar());   
    System.out.println( "la matricula es:"+Al.calculaMatricula(""));
    System.out.println("el cuatrimestre es:"+Al.calculaCuatrimestre(" ")+" grado");
   
   
    System.out.println("\n---------------------------Persona-----------------------------------");
    System.out.println(Per.mostrar());
    System.out.println("la curp es: "+Per.calcularCurp(null));
  System.out.println("la edad es: "+Per.calcularEdad(null));
       
       
   
     System.out.println("\n---------------------------Profesor-----------------------------------");
      System.out.println(pro.mostrar());
      System.out.println("RFC del docente: "+pro.Calcularfc(""));
    
    }
}

CLASE PERSONA

package herencia;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *
 * @author JABES
 *
 * Esta es nuestra superClase Persona, donde declaramos variables que seran utilizadas
 * por cualquier clase que dependa de ella a traves de un extends.
 */
public class Persona {
    String fecha;
    String genero;
    String nombre;
    String apellidop;
    String apellidom;   
    String estado;
  
        /*
     * Sobrecargamos el metodo que sera heredado a las de las demas clases
     */
 public Persona(String fe, String ge,String nombre,String app, String apm, String es){
  this.fecha=fe;
  this.genero=ge;
  this.nombre=nombre;
   this.apellidop=app;
   this.apellidom=apm;
   
    this.estado=es;
   
  
 }

 /*
  * En el metodo calcualar utilizamos, la fecha del sistema, y la asignamos en
  * 1 arreglo y otro arreglo la fecha de nacimiento estdos son de topo String
  * se convierten a Integer, y posterior mente se resta, y despues se compara
  * retornado el resultado.
  */
public int calcularEdad(String fecha_nac) {     //fecha_nac debe tener el formato dd/MM/yyyy
  
    Date fechaActual = new Date();
    SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
    String hoy = formato.format(fechaActual);
    String[] dat1 = this.fecha.split("/");
    String[] dat2 = hoy.split("/");
    int anos = Integer.parseInt(dat2[2]) - Integer.parseInt(dat1[2]);
    int mes = Integer.parseInt(dat2[1]) - Integer.parseInt(dat1[1]);
    if (mes < 0) {
      anos = anos - 1;
    } else if (mes == 0) {
      int dia = Integer.parseInt(dat2[0]) - Integer.parseInt(dat1[0]);
      if (dia > 0) {
        anos = anos - 1;
      }
    }
    return anos;
  }




 /*
 * substraemos cada una de las posicion de los datos para obtener nuestra curp.
 *
 */
 public String calcularCurp(String cur){
     String nom=this.nombre.substring(0,1);
     String app=this.apellidop.substring(0,2);
     String apm=this.apellidom.substring(0,1);
     String di=this.fecha.substring(0,2);
     String mes=this.fecha.substring(3,5);
     String anio=this.fecha.substring(8,10);
     String ge=this.genero.substring(0,1);
     String es=this.estado.substring(0,1);
     String curp=app+apm+nom+anio+mes+di+ge+es;
     return curp;
 }

 public String mostrar(){
   return "la fecha de nacimiento: "+fecha +"\n el genero es: "+genero+"\n el nombre es: "+nombre+"\n apellido paterno: "+apellidop+"\n apellido materno: "+apellidom+"\n el estado es: "+estado ; 
    
 }  
   
}

CLASE ALUMNO.

package herencia;
import java.text.SimpleDateFormat;
 import java.util.Date;  

/**
 *
 * @author JABES
 */
/*
 * Esta clase se extendiendo o heredando de la clase Persona, utilizando la palabra
 * extends .
*/
public class Alumno extends Persona{
/*
 * Estas son las variables, propiedades o caracteristicas que tiene nuestra clase alumno
 *
 */
    String fechaingreso; 
    String grupo;
    String carrera;
    String especialidad;
   /*
    Este es el constructor sobrecargado, que permite alojar los tipos de datos y las
     * varibles que contiene nuestra clase padre(Persona)y nuestra clase hijo(Alumno).
     */
public Alumno(String fecha,String genero,String nombre,String apellidop,String apellidom,String estado, String fechaingreso, String grupo, String carrera, String especialidad){
/*
 * Pese a que en el constructor sobrecargardo se cargan los parametros qeu tendra toda nuestra calse alumno,
  falta traer los parametros como tal de la super clase o clase padre, para utilizamos la palabra
     * recervada, super.
 */
    super(fecha, genero, nombre, apellidop, apellidom,estado);
/*
 * con la palabra this hacemos referencia a los objetos o variable sdde nuestra misma clase.
 */
 this.fechaingreso=fechaingreso;
 this.grupo=grupo;
 this.carrera=carrera;
 this.especialidad=especialidad;
}
/*
 * Este es el metodo calcularMatricula donde basicamente lo que se hace es:
 * substraer el año, el mes, y agregar el numero de la academia.
 *
 */
public String calculaMatricula(String matri){
String inicio=this.fechaingreso.substring(6);
String car=this.carrera.substring(0,2);
String matricu=inicio+"3"+car+"171";
return matricu;
}
/*
 * Este es el metodo que calcula cuatrimestre, restando la fecha de ingreso
 * con la fecha que apunta el sistema operativo.
 */
public int calculaCuatrimestre(String cuatri) {     //Calcualar cuatrimestre debe tener el formato dd/MM/yyyy
  
    Date fechaActual = new Date();
    SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
    String hoy = formato.format(fechaActual);
    String[] dat1 = this.fechaingreso.split("/");
    String[] dat2 = hoy.split("/");
    int anos = Integer.parseInt(dat2[2]) - Integer.parseInt(dat1[2]);
    int mes = Integer.parseInt(dat2[1]) -Integer.parseInt(dat1[1]);
     int dia = Integer.parseInt(dat2[0]) - Integer.parseInt(dat1[0]);
    if(mes==6){
        mes=4;
    }
    
     return mes;
    
   
  }
   
  
 
/*
 * Este es el metodo heredado de la super clase con la palabra reservada supér
 * basicamente lo que hace es mostrar, la pecualiaridades de cada clase mas las
 * propiedades de la superclase.
 */
    @Override
 public String mostrar(){
    
        return super.mostrar()+"\n la la fecha de ingreso es: "+fechaingreso+
             "\n el grupo es: "+grupo+"\n la carrera es: "+carrera+"\n la especialidad es: "+especialidad;    
  
   
    }   

}

CLASE PROFESOR


package herencia;
/**
 * @author JABES
 */
/*
 * como en la clase alumno, la clase Profesor tambien se extiende a Persona
   */
public class Profesor extends Persona {

  String grado;
  String titulo;
  String especialidad;
  String academia;
   /*
   * De igual manera que la clase alumno se parametriza y nuestro metodo sobrecargado
   */
public Profesor(String fecha,String genero,String nombre,String apellidop,String apellidom,String estado,String es, String grado,String titulo,String especialidad, String academia ){
super(fecha, genero, nombre, apellidop,apellidom,estado);//hacemos referencia  a las variables de la clase padre.
/*
 * Hacemoss referencia a las variables de la mistma clase
 */
       
this.grado=grado;
this.titulo=titulo;
this.especialidad=especialidad;
this.academia=academia;


         }
 /*
 * para substraer los datos qeu nos daran el rfc , mandamos a traer la super clase.
 */
 public String Calcularfc(String rfc){          
     String nom= super.nombre.substring(0,1);    
  String app= super.apellidop.substring(0,2);
  String apm= super.apellidom.substring(0,1);
  String fech= super.fecha.substring(0,2);
  String fecch=super.fecha.substring(3,5);
  String feccch= super.fecha.substring(8,10);
  String rf=""+app+apm+nom+feccch+fecch+fech+"TKM";
 // String rfc=rf;
  return rf;
 
 }

    @Override
public String mostrar(){
   
   
    return super.mostrar()+"\n su puesto es: "+grado+"\n su tittulo es: "+titulo+
            "\n la especialidad es: "+especialidad+"\n la academia es: "+academia;
   
       }
    
   }

Examen diagnostico

 
                   DESCARGAR CODIGO AQUI

  

CON UNA CONDICION MENOR O IGUAL A 7

package imprime;

/**
 *
 * @author JABES
 */
public class Imprime {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String hola="";
       
        int i=1;
        int fact=0;
      
        do{
         hola=hola+ " hola ";
         fact=fact+i;
         System.out.println( hola);
         i++;
        }while(i<=7);
       
        System.out.println(" total: "+fact);
                // TODO code application logic here
    }
}



CON UNA CONDICION MENOR O IGUAL 20
package imprime;

/**
 *
 * @author JABES
 */
public class Imprime {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String hola="";
       
        int i=1;
        int fact=0;
      
        do{
         hola=hola+ " hola ";
         fact=fact+i;
         System.out.println( hola);
         i++;
        }while(i<=20);
       
        System.out.println(" total: "+fact);
                // TODO code application logic here
    }
}