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: