sábado, 1 de septiembre de 2012

Clase 3: "El calendario"


import java.util.Calendar;
import java.util.Date;
import javax.swing.JOptionPane;

public class Calendario{

private int dia;
private int mes;
private int anio;

public Calendario(){
Calendar hoy = Calendar.getInstance();
dia = hoy.get(Calendar.DAY_OF_MONTH);
mes = hoy.get(Calendar.MONTH) + 1;
anio = hoy.get(Calendar.YEAR);
}

public Calendario(Date fecha){
dia = fecha.getDate();
mes = fecha.getMonth() + 1;
anio = fecha.getYear() + 1900;
}

public Calendario(int dia, int mes, int anio){
this.dia = dia;
this.mes = mes;
this.anio = anio;
}



/*public String getFecha(){

}*/

private String formatoCorto(){
return String.format("%02d",dia) + "/" +
  String.format("%02d",mes) + "/" +
  anio;
}

private String formatoBD(){
return anio + "-" +
  String.format("%02d",mes) + "-" +
  String.format("%02d",dia) + "-";
}

private String formatoLargo(){
String meses[] = {"ENERO","FEBRERO","MARZO","ABRIL","MAYO","JUNIO","JULIIO","AGOSTO","SEPTIEMBRE","OCTUBRE","NOVIEMBRE","DICIEMBRE"};
return String.format("%02d",dia) + " DE " +
  meses[mes-1] + " DE " +
  anio;
}

public int getDia(){
return dia;
}

public int getMes(){
return mes;
}

public int getAnio(){
return anio;
}

public void setDia(int dia){
this.dia = dia;
}

public void setMes(int mes){
this.mes = mes;
}

public void setAnio(int anio){
this.anio = anio;
}

public String getDiaSemana(){
String dias[] = {"DOMINGO","LUNES","MARTES","MIERCOLES","JUEVES","VIERNES","SABADO"};
int tabla[][] = {{0,3,3,6,1,4,6,2,5,0,3,5},{0,3,4,0,2,5,0,3,6,1,4,6}};
int esBiciesto = ((anio % 4)==0 ? 1 : 0);
int moduloMes = tabla[esBiciesto][mes-1];
int operacion1 = (anio - 1) % 7;
int operacion2 = (((anio - 1)/4)-(((((anio - 1)/100) + 1) * 3) / 4 ))%7;
int operacion3 = dia%7;
int diaSemana = (operacion1 + operacion2 + moduloMes + operacion3)%7;
String diasSemana = dias[diaSemana];
return diasSemana;
}

public static void main(String args[]){
Calendario x=new Calendario();
String diaSemana = x.getDiaSemana();
JOptionPane.showMessageDialog(null, "Dia de la Semana de Hoy: "+ diaSemana);
}
}


RESULTADOS:



sábado, 25 de agosto de 2012

Clase 2.2.2: "La Agregación"


Clase 2.2.1: "La Clase Automovil"

modificacion a la clase Vehiculo:

los atributos son protected...
CLASE VEHICULO
________________________
import javax.swing.JOptionPane;

public class Vehiculo {

    protected String color, modelo, tipoTransmision, marca, noPlacas; //variables de instancia, estan presentes en todo el cuerpo de la clase
    //pordía decirse que viven en toda la clase
    //el metodo showMessageDialog es un metodo estatico...por eso no presisamente se tiene que instanciar la clase JOptionPane
    public Vehiculo(){
        JOptionPane.showMessageDialog(null, //indica que su ventana padre es el escritorio
                                        "Creando Objeto Vehiculo", //el mensaje que se desea enviar
                                        "POO",//el titulo de la ventana
                                        JOptionPane.INFORMATION_MESSAGE);//mensaje de tipo informacion, exite tambien el tipo: error, cuestion, etc.
        color = modelo = tipoTransmision = marca = noPlacas = ""; //todos los objetos string apuntan a un solo objeto con valor ""       
    }
   
    public Vehiculo (String marca){//String marca es variable de marca, las variables de marca sobreescriben las variables de metodo, siempre en los metodos las varables de metodo "superan" a las variables de instancia
        this(); //this hace referencia a la clase actual
        this.marca=marca;
    }
   
    public Vehiculo (String marca, String color){
        this(marca);
        this.color=color;
    }
   
    public Vehiculo(String marca, String color, String modelo){
        this(marca,color);
        this.modelo=modelo;
    }
   
    public void setColor(String color){
        this.color=color;
    }
   
    public void setNoPlacas(String noPlacas){
        this.noPlacas=noPlacas;
    }
   
    public void setModelo(String modelo){
        this.modelo=modelo;
    }
   
    public void setMarca(String marca){
        this.marca=marca;
    }
   
    public void setTipoTransmision(String tipoTransmision){
        this.tipoTransmision=tipoTransmision;
    }
   
    public void verDatos(){
        JOptionPane.showMessageDialog(null,
                                        "Marca: " + marca + "\n" +
                                        "Modelo: "+ modelo + "\n" +
                                        "Color: "+ color + "\n" +
                                        "Placas: "+ noPlacas + "\n" +
                                        "Tipo de Transmisción: "+ tipoTransmision + "\n",
                                        "INFORMACION DEL VEHÍCULO", JOptionPane.INFORMATION_MESSAGE);
    }
}
_________________________________________
CLASE TESTVEHICULO
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;

public class testVehiculo{

    public static void main(String args []){
    /*
    String opciones[]={"AUTOMATICA","ESTANDAR"};
    Vehiculo x1= new Vehiculo("Mustang","Negro");
    String modelo = JOptionPane.showInputDialog("Dame el Modelo del Vehicuo");
    x1.setModelo(modelo);
    String noPlacas = JOptionPane.showInputDialog("Dame las placas del Vehiculo");
    x1.setNoPlacas(noPlacas);
    Object tipoTransmision = JOptionPane.showInputDialog(null,
                                                        "Selecciona el Tipo de Transmision",
                                                        "TIPO DE TRANSMISION",
                                                        JOptionPane.PLAIN_MESSAGE,
                                                        new ImageIcon("Transmission_icon.png"),
                                                        opciones,
                                                        opciones[0]);
    x1.setTipoTransmision(tipoTransmision.toString()); //((String)tipoTransmision)
    x1.verDatos();
    */
    Automovil x2=new Automovil("MUSTANG",2);
    x2.verDatos();
    }
}
________________________________
CLASE AUTOMOVIL
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;

public class Automovil extends Vehiculo {

    private int noPuertas;
   
    public Automovil(){
        this(0);
    }
   
    public Automovil (int noPuertas){
        this("",noPuertas);
    }
   
    public Automovil (String marca, int noPuertas){
        this(marca, "", noPuertas);
    }
   
    public Automovil(String marca, String color, int noPuertas){
        this(marca,color, "", noPuertas);   
    }
   
    public Automovil(String marca, String color, String modelo, int noPuertas){
        super(marca, color, modelo);
        this.noPuertas=noPuertas;
            JOptionPane.showMessageDialog(null,
                                        "Creando el objeto Automovol",
                                        "CONSTRUCTOR DE AUTOMOVIL",
                                        JOptionPane.INFORMATION_MESSAGE);
    }
   
    public void verDatos(){//sobreescribiendo el metodo de la clase padre
        JOptionPane.showMessageDialog(null,
                                        "Marca: " + marca + "\n" +
                                        "Modelo: "+ modelo + "\n" +
                                        "Color: "+ color + "\n" +
                                        "Placas: "+ noPlacas + "\n" +
                                        "Número de Puertas: " + noPuertas + "\n" +
                                        "Tipo de Transmisción: " + tipoTransmision + "\n",
                                        "INFORMACION DEL VEHICULO", JOptionPane.INFORMATION_MESSAGE,
                                        new ImageIcon("camaro.png"));
    }
}


RESULTADOS:










Clase 2.2: "La Herencia"


Clase 2.1.2: "Agregando un pequeño Icono"

Solo una pequeña adaptacion al testVehiculo:


import javax.swing.JOptionPane;
import javax.swing.ImageIcon;

public class testVehiculo{

    public static void main(String args []){
   
    String opciones[]={"AUTOMATICA","ESTANDAR"};
    Vehiculo x1= new Vehiculo("Mustang","Negro");
    String modelo = JOptionPane.showInputDialog("Dame el Modelo del Vehicuo");
    x1.setModelo(modelo);
    String noPlacas = JOptionPane.showInputDialog("Dame las placas del Vehiculo");
    x1.setNoPlacas(noPlacas);
    Object tipoTransmision = JOptionPane.showInputDialog(null,
                                                        "Selecciona el Tipo de Transmision",
                                                        "TIPO DE TRANSMISION",
                                                        JOptionPane.PLAIN_MESSAGE,
                                                        new ImageIcon("Transmission_icon.png"),
                                                        opciones,
                                                        opciones[0]);
    x1.setTipoTransmision(tipoTransmision.toString()); //((String)tipoTransmision)
    x1.verDatos();
    }
}


RESULTADOS:


Clase 2.1.1:"la Modificacion con showInputdialog"

import javax.swing.JOptionPane;

public class Vehiculo {

    private String color, modelo, tipoTransmision, marca, noPlacas; //variables de instancia, estan presentes en todo el cuerpo de la clase
    //pordía decirse que viven en toda la clase
    //el metodo showMessageDialog es un metodo estatico...por eso no presisamente se tiene que instanciar la clase JOptionPane
    public Vehiculo(){
        JOptionPane.showMessageDialog(null, //indica que su ventana padre es el escritorio
                                        "Creando Objeto Vehiculo", //el mensaje que se desea enviar
                                        "POO",//el titulo de la ventana
                                        JOptionPane.INFORMATION_MESSAGE);//mensaje de tipo informacion, exite tambien el tipo: error, cuestion, etc.
        color = modelo = tipoTransmision = marca = noPlacas = ""; //todos los objetos string apuntan a un solo objeto con valor ""       
    }
   
    public Vehiculo (String marca){//String marca es variable de marca, las variables de marca sobreescriben las variables de metodo, siempre en los metodos las varables de metodo "superan" a las variables de instancia
        this(); //this hace referencia a la clase actual
        this.marca=marca;
    }
   
    public Vehiculo (String marca, String color){
        this(marca);
        this.color=color;
    }
   
    public void setColor(String color){
        this.color=color;
    }
   
    public void setNoPlacas(String noPlacas){
        this.noPlacas=noPlacas;
    }
   
    public void setModelo(String modelo){
        this.modelo=modelo;
    }
   
    public void setMarca(String marca){
        this.marca=marca;
    }
   
    public void setTipoTransmision(String tipoTransmision){
        this.tipoTransmision=tipoTransmision;
    }
   
    public void verDatos(){
        JOptionPane.showMessageDialog(null,
                                        "Marca: " + marca + "\n" +
                                        "Modelo: "+ modelo + "\n" +
                                        "Color: "+ color + "\n" +
                                        "Placas: "+ noPlacas + "\n" +
                                        "Tipo de Transmisción: "+ tipoTransmision + "\n",
                                        "INFORMACION DEL VEHÍCULO", JOptionPane.INFORMATION_MESSAGE);
    }
}

_______________________________________________________________________

import javax.swing.JOptionPane;

public class testVehiculo{

    public static void main(String args []){
   
    String opciones[]={"AUTOMATICA","ESTANDAR"};
    Vehiculo x1= new Vehiculo("Mustang","Negro");
    String modelo = JOptionPane.showInputDialog("Dame el Modelo del Vehicuo");
    x1.setModelo(modelo);
    String noPlacas = JOptionPane.showInputDialog("Dame las placas del Vehiculo");
    x1.setNoPlacas(noPlacas);
    Object tipoTransmision = JOptionPane.showInputDialog(null,
                                                        "Selecciona el Tipo de Transmision",
                                                        "TIPO DE TRANSMISION",
                                                        JOptionPane.PLAIN_MESSAGE,
                                                        null,
                                                        opciones,
                                                        opciones[0]);
    x1.setTipoTransmision(tipoTransmision.toString());
    x1.verDatos();
    }
}


RESULTADOS:






Clase 2.1: "La Clase Vehiculo"

import javax.swing.JOptionPane;

public class Vehiculo {

    private String color, modelo, tipoTransmision, marca, noPlacas; //variables de instancia, estan presentes en todo el cuerpo de la clase
    //pordía decirse que viven en toda la clase
    //el metodo showMessageDialog es un metodo estatico...por eso no presisamente se tiene que instanciar la clase JOptionPane
    public Vehiculo(){
        JOptionPane.showMessageDialog(null, //indica que su ventana padre es el escritorio
                                        "Creando Objeto Vehiculo", //el mensaje que se desea enviar
                                        "POO",//el titulo de la ventana
                                        JOptionPane.INFORMATION_MESSAGE);//mensaje de tipo informacion, exite tambien el tipo: error, cuestion, etc.
    }
   
    public Vehiculo (String marca){//String marca es variable de marca, las variables de marca sobreescriben las variables de metodo, siempre en los metodos las varables de metodo "superan" a las variables de instancia
        this(); //this hace referencia a la clase actual
        this.marca=marca;
    }
   
    public Vehiculo (String marca, String color){
        this(marca);
        this.color=color;
    }
   
    public void setColor(String color){
        this.color=color;
    }
   
    public void setNoPlacas(String noPlacas){
        this.noPlacas=noPlacas;
    }
   
    public void setModelo(String modelo){
        this.modelo=modelo;
    }
   
    public void setMarca(String marca){
        this.marca=marca;
    }
   
    public void setTipoTransmision(String tipoTransmision){
        this.tipoTransmision=tipoTransmision;
    }
   
    public void verDatos(){
        JOptionPane.showMessageDialog(null,
                                        "Marca: " + marca + "\n" +
                                        "Modelo: "+ modelo + "\n" +
                                        "Color: "+ color + "\n" +
                                        "Placas: "+ noPlacas + "\n" +
                                        "Tipo de Transmisción: "+ tipoTransmision + "\n",
                                        "INFORMACION DEL VEHÍCULO", JOptionPane.INFORMATION_MESSAGE);
    }
}

_____________________________________________________________________________


public class testVehiculo{

    public static void main(String args []){
    Vehiculo x1= new Vehiculo("Mustang","Negro");
    x1.verDatos();
    }
}


RESULTADOS:


Clase 2: "Recordando POO"

- Un Objeto va a existir cuando se ejecute una clase.

- Atributos de un objeto: caracteristicas de un objeto.

- Metodos de un objeto: Acciones que realizar un objeto.

- En las clases se definen, los atributos y los metodos, los valores de los atributos son los que definen al objeto.

- ejemplo: para hacer pasteles es necesario un molde, el molde seria la clase y los valores de los atributos son defidos del objeto, por ejemplo: el sabor del pastel.

- x=new Perosna();... x es la  "variable referencia"
- z=new Persona();  y es la referencia


el objeto x y el objeto y tienen sus propios valores.

- si x=z;  el objeto al que referencia z tambien lo hace el objeto x y el objeto al que referenciaba z se pierde.

- cuando hay un objeto sin referencia el recolector de basura de java lo recoje.

- cuando z=null, el recolector de basura no puede llevarese el objeto en cuestion ya que lo referencia la variable de referencia x

- si z=x; la variable de referencia z vuelve a hacer referencia que tenia anteriormente.

- si z=null y x=z; en este caso el objeto se perderia, ya que z no hace referencia a ningun objeto y asigna ese valor a la variable x, el objeto al que z hacie referencia se pierde...

________________________________________________________________________________

sintaxis de una instanciacion de una clase:

NombreClase referencia = new NombreClase ([mensaje1, mensaje2, ... mensaje n]);

Persona x = new Persona();

________________________________________________________________________________


_________________________________________
Vehiculo
_________________________________________

-color
-noPlacas
-modelo
-tipoTransmision
-marca
_________________________________________
Vehiculo();
Vehiculo(marca);
Vehiculo(marca,color);
+setColor(color);
+setNoPlacas(noPlacas);
+setModelo(modelo);
+setTipoTransmicion(tipoTransmision);
+setMarca(marca);
+verDatos();
_________________________________________



viernes, 24 de agosto de 2012

Tarea: Colas

//**********Clase Cola¨*************//

import javax.swing.*;
class Cola{
    int tamaño=5;
    String cola[]=new String [tamaño];
    int primero=0;
    int ultimo=-1;
   
    public void Introducir(){
        if(ultimo==cola.length-1){
            JOptionPane.showMessageDialog(null,"Se saco el dato ( "+cola[primero]+" )");
            for(int i=primero;i<ultimo;i++){
                cola[i]=cola[i+1];
            }
            cola[ultimo]=null;
            cola[ultimo]=JOptionPane.showInputDialog(null,"Que dato deseas introducir:");
        }
        else{
            ultimo++;
            cola[ultimo]=JOptionPane.showInputDialog(null,"Que dato deseas introducir:");
        }
    }
   
    public void Sacar(){
        if(ultimo==-1){
            JOptionPane.showMessageDialog(null,"La cola esta vacia\nIntroduce un nuevo dato para poder sacar uno");
        }
        else{
            JOptionPane.showMessageDialog(null,"Se saco el dato ( "+cola[ultimo]+" )");
            cola[ultimo]=null;
            ultimo--;
        }
    }
   
    public void Mostrar(){
        if(ultimo==-1){
            JOptionPane.showMessageDialog(null,"La cola esta vacia\nNo hay datos que mostrar");
        }
        else{
            String mostrar="";
            for(int i=primero;i<=ultimo;i++){
                mostrar=mostrar+cola[i]+",";
            }
            JOptionPane.showMessageDialog(null,"El dato primero es: "+cola[primero]);
            JOptionPane.showMessageDialog(null,"El dato ultimo es: "+cola[ultimo]);
            JOptionPane.showMessageDialog(null,"Los datos almacenados son:\n"+mostrar+",");
        }
    }
   
    public void Borrar(){
    primero=0;
    ultimo=-1;
    JOptionPane.showMessageDialog(null,"Todos los datos fueron borrados:\n");
    }
   
}


//*************Clase Principal*************//


import javax.swing.*;

public class ColaJava {
    static Cola accion=new Cola();
    public static void main(String[] args) {
        int opc=0;
            while(true){
            opc=Integer.parseInt(JOptionPane.showInputDialog(null,
            "---------------------------------------\n" +
            "Cola en Java\n"    +
            "---------------------------------------\n" +
            "1. Introducir dato\n" +
            "2. Sacar dato\n" +
            "3. Ver datos introducidos\n" +
            "4. Borrar los datos de la cola\n" +
            "---------------------------------------\n" +
            "5. Salir\n" +
            "---------------------------------------\n" +
            "Teclea el numero de la accion a relizar:"
            ));
            switch(opc){
                case 1: accion.Introducir();
                    break;
                case 2: accion.Sacar();
                    break;
                case 3: accion.Mostrar();
                    break;
                case 4: accion.Borrar();
                    break;
                case 5: System.exit(0);
                    break;
                default: JOptionPane.showMessageDialog(null,"No se realizo ninguna accion\nOpcion no valida");
                    break;
            }
        }
    }
}

jueves, 23 de agosto de 2012

Clase 1:"Pilas"/18-08-12

Clase 1:"Pilas"/18-08-12

import java.util.Scanner;

public class Pila{
    private int elementos[];
    private int tamanio;
    private int posicion;

    public Pila(){
        this(10);
    }
   
    public Pila(int tamanio){
        this.elementos = new int[tamanio];
        this.tamanio = tamanio;
        this.posicion = -1;
    }
   
    public void meter(int elemento){
        if (this.posicion<(this.tamanio-1)){
            this.elementos[++posicion] = elemento;
        } else {
            System.out.println("Pila Llena!!");
        }
    }
   
    public int quitar(){
    int elemento = 0;
        if (this.posicion>=0){
            elemento = this.elementos[this.posicion--];
        } else {
            System.out.println("Pila Vacia!!");   
        }
    return elemento;
    }
   
    public void mostrar(){
        for(int i=this.posicion; i>=0; i--){
            System.out.println("[" + i + "] = " + this.elementos[i]);
        }
    }
   
    public static void main(String args[])
    {
        Scanner teclado = new Scanner (System.in);
        System.out.println("Dame el total de elementos: ");
        int tamanio = teclado.nextInt();
        Pila x =new Pila(tamanio);
        System.out.println("Pila Creada\nIngresa los elementos de la Pila");
        for (int i=0; i<tamanio; i++){
            System.out.println("Dame el elemento [" + i + "] = ");
            x.meter(teclado.nextInt());
        }
       
        x.mostrar();
    }
}

Clase 1:"El inicio"/18-08-12

Clase 1:"El inicio"/18-08-12

import java.util.Calendar;

public class Persona {
    private String nombre;
    private Calendar fechaNacimiento;
    private char sexo;
    static int totalPersonas;
   
    //Constructor de Clase
    public Persona (String nombre){
        //nombre = nombre;
        this.nombre = nombre;
    }
   
    public String setNombre(String nom){
        return this.nombre = nom;
    }
       
    public String getNombre(){
        return this.nombre;
    }
       
    public void setFechaNacimiento(int dia, int mes, int anio){
        this.fechaNacimiento = Calendar.getInstance();
        this.fechaNacimiento.set(anio,mes,dia);
    }
   
    public String getFechaNacimiento(){
        String dia = String.format("%02d", fechaNacimiento.get(Calendar.DAY_OF_MONTH));
        String mes = String.format("%02d", fechaNacimiento.get(Calendar.MONTH));
        String anio = String.format("%02d", fechaNacimiento.get(Calendar.YEAR));
        return dia + "/" + mes + "/" + anio;
    }
   
    public char getSexo(){
        return this.sexo;
    }
   
    public void setSexo(char sex){
        this.sexo = sex;
    }
   
    public int getEdad(){
        Calendar fechaActual = Calendar.getInstance();
        int edad = fechaActual.get(Calendar.YEAR) - fechaNacimiento.get(Calendar.YEAR);
        if (fechaActual.get(Calendar.MONTH) < fechaNacimiento.get(Calendar.MONTH)){
            edad--;
        }else{
            if (fechaActual.get(Calendar.MONTH) == fechaNacimiento.get(Calendar.MONTH)){
                if (fechaActual.get(Calendar.DAY_OF_MONTH) < fechaNacimiento.get(Calendar.DAY_OF_MONTH)){
                edad--;
                }
            }
        }
        return edad;
    }
   
    public static void main(String args[]){
    Persona x=new Persona("Juan");
    x.getNombre();
    x.setNombre("Julissa");
    System.out.println("Tu Nombre " + x.getNombre());
    x.setSexo('f');
    System.out.println("Tu Sexo: " + x.getSexo());
    x.setFechaNacimiento(31,10,1983);
    System.out.println("Tu Edad " + x.getEdad());
    x.getEdad();
    }
}


class Main{
    public static void main(String args[]){
        Persona x = new Persona("Maria");
        Persona y = new Persona("Jose");
        Persona z = new Persona("Carlos");
        x.setFechaNacimiento(13,10,1982);
        System.out.println("El valor del atributo nombre de x es: " + x.getNombre());
        System.out.println("La edad del objeto x es: " + x.getEdad() + " años");
    }
}