programación orientada a objetos ejemplo

Embed Size (px)

Citation preview

  • 7/25/2019 programacin orientada a objetos ejemplo

    1/22

    MATERIA:Programacin II

    DOCENTE:Ing. Nelson Salgado

    FECHA:2015-Nov-26

    TRABAJO INDIVIDUAL

    TEMA: Crear un programaque nos permita editar insertar !orrar

    !uscar e imprimir los autos en una concesionaria.

    NOMBRE:"erenice #!igail Proa$o #ndrade

    OBJETIVOS:

    %esarrollar un programa que almacene los datos en un

    arreglo.

    &acilitar el mane'o de datos de los autos en una concesionaria

    Poder editar e ingresar nuevos ve()culos seg*n las

    necesidades de la empresa.

    INTRODUCCIN

    +a creacin de este programa surge de la necesidad de mane'ar los

    productos elementos u o!'etos de una empresa o de una !ase de

    datos.

    Con las clases m,todos po'os creados en el programa ser /cil el

    mane'o del sistema para el usuario quien podr realiar actividades

    como insertar editar !orrar !uscar e imprimir los elementos que

    se encuentren dentro de la memoria del sistema. racias a este

    programa el usuario tendr una organiacin cronolgica de cada

    UNIVERSIDAD CENTRAL DEL ECUADOR

    FACULTAD DE INGENIERA, CIENCIAS FSICAS Y MATEMTICA

    CARRERA DE INGENIERA EN COMPUTACIN GRFICA

    TRABAJO FINAL-PRIMER HEMISEMESTRE

    SEMESTRE Septe!"#e $%&'-Fe"#e#( $%&)

  • 7/25/2019 programacin orientada a objetos ejemplo

    2/22

    o!'eto de su empresa as) se disminuirn los errores cometidos al

    ingresar un auto al concesionario.

    CONTE*TO O DESARROLLO

    Para ela!orar este programa creamos los siguientes paquetes

    e+e..+ep#(/#0!0+(1+203e3 : contiene las clases del

    programa.

    e+e..+ep#(/#0!0+(1p(4( : contiene los P343S del

    programa.

    e+e..+ep#(/#0!0+(1p#1+p02 : contiene las clase

    principal del programa.

    POJOS

    Primero creamos el P343 de los o!'etos que estarn en el programa

    P343 autos

    package ec.edu.uce.programacion.pojos;

    import java.util.Date;

    public class autos {

    private String codigo;

    protected String marca;

    protected String modelo;

    protected Integer ao;

    private Date fechadeIngreso;

    private Double precio; public final static float DESCUEN! " #$$$;

  • 7/25/2019 programacin orientada a objetos ejemplo

    3/22

    public autos() {

    }

    %&Es el constructor de la clase autos ' nos permite crean

    instancias de la clase

    &

    &%

    publicautos(String codigo) String marca) String modelo) Integer

    ao) Date fechadeIngreso) Double precio* +

    this.codigo " codigo;

    this.marca " marca;

    this.modelo " modelo;

    this.ao " ao;

    this.fechadeIngreso " fechadeIngreso;

    this.precio " precio;

    ,

    public String getCodigo(* +

    return codigo;

    ,

    public void setCodigo(String codigo* +

    this.codigo " codigo;

    ,

    public String get-arca(* +

    return marca; ,

    public void set-arca(String -arca* +

    this.marca " marca;

    ,

    public String get-odelo(* +

    return modelo;

    ,

  • 7/25/2019 programacin orientada a objetos ejemplo

    4/22

    public void set-odelo(String modelo* +

    this.modelo " modelo;

    ,

    public Integer geto(* + return ao;

    ,

    public void seto(Integer ao* +

    this.ao " ao;

    ,

    public Date get/echadeIngreso(* +

    return fechadeIngreso;

    ,

    public void set/echaEdicion(Date fechadeIngreso* +

    this.fechadeIngreso " fechadeIngreso;

    ,

    public Double get0recio(* +

    return precio;

    ,

    public void set0recio(Double precio* +

    this.precio " precio;

    ,

    }

    CLASESSe crearon las siguientes clases

    2(/1:es la clase que nos permitir ingresar al sistema !e1.:es la clase que contiene el men* todas sus /unciones

  • 7/25/2019 programacin orientada a objetos ejemplo

    5/22

    5020#:es la clase que vericar que los datos ingresados

    sean del tipo correcto.

    1. C+#S +3IN

    package ec.edu.uce.programacion.clases;

    import java1.s2ing.3!ption0ane;

    public class login {

    %%Definimos el valor de usuario ' contrasea

    private final String USU4I! " 5berenice5;

    private final String C!N4SE6 " 5proano5;

    %&&

    & permite acceder al sistema con un usuario ' contrasea

    'a definidos

    & 7return El valor de verdad de la autenticaci8n

    &%

    publicboolean ingresar(*+

    %%definimos e iniciali9amos las variables para ingresar al sistema

    String usuario"55;

    String contrasea"55;

    :oolean s"false;

    %%utili9amos la estructura for para ue nos genere la pantalla para

    ingresar el usuario ' contrasea

    for (int i " $; i < =; i>>* +

    usuario"3!ption0ane.sho2InputDialog(null) 5Ingrese su nombre de

    usuario5*;

    contrasea"3!ption0ane.sho2InputDialog(null) 5Ingrese su

    contrasea?5*;

    %%comparamos las variables ingresadas por teclado con las ue

    definimos anteriormente

    If(usuario.eualsIgnoreCase(USU4I!*@@C!N4SE6.eualsIgnoreCase(cont

    rasea** +

    %%si coinciden el programa nos permite ingresar al sistema

    s"true;

    breaA;

    ,

    ,

  • 7/25/2019 programacin orientada a objetos ejemplo

    6/22

    return s;

    ,

    }

    2. C+#S 7#+I%#8package ec.edu.uce.programacion.clases;

    import ec.edu.uce.programacion.pojos.autos;

    import java.util.Calendar;

    import java.util.Date;

    import java.util.rege1.-atcher;

    import java.util.rege1.0attern;

    import java1.s2ing.3!ption0ane;

    %&

    &

    & Esta clase nos permite verificar ue los datos ue sean ingresados

    por teclado coincidan con el tipo de datos asignados.

    &%

    public class validar {

    %&

    &Este mBtodo verifica ue el c8digo ingresado coincida con losalmacenados en memoria

    &%

    publicString ingresarCodigo(autos car) Integer contador* +

    boolean e1iste " true;

    String codigo"55;

    2hile (e1iste "" true @@ codigo.euals(55** +

    codigo " 3!ption0ane.sho2InputDialog(null) 5Ingrese el

    c8digo5*;

    for (int i " $; i < contador; i>>* +

    if (cari.getCodigo(*.euals(codigo** +

    e1iste " true;

    breaA;

    ,else+

    e1iste"false;

    ,

  • 7/25/2019 programacin orientada a objetos ejemplo

    7/22

    ,

    ,

    return codigo;

    ,%&&

    & nos permite controlar ue los datos ingresados solo sean numeros

    & 7param ao es el parametro ue se verifica en el metodo.

    & 7return un valor de verdad

    &%

    private static :oolean validaro(String ao* +

    0attern pat " 0attern.compile(5F($GH+),*5*;

    -atcher mat " pat.matcher(ao*;

    return mat.find(*;

    ,

    %&&

    & nos permite ingresar el ao del vehJculo.

    & 7return el ao ingresado.

    &%

    publicString ingresaro(* +

    String ao " 3!ption0ane.sho2InputDialog(null) 5Inserte el ao

    del auto? 5*;

    2hile (Kvalidaro(ao** +

    ao " 3!ption0ane.sho2InputDialog(null) 5Inserte el ao

    del auto? 5*;

    validaro(ao*;

    ,

    return ao;

    ,

    %&&

    &

    & 7param precio es el parLmetro ue se verifica en el mBtodo.

    & 7return un valor de verdad

    &%

    private static:oolean validar0recio(String precio* +

    0attern pat " 0attern.compile(5F($GH+=,>.($GH+M,**5*;

    -atcher mat " pat.matcher(precio*;

    return mat.find(*;

    ,

    %&&& permite ingresar el valor asignado al auto.

  • 7/25/2019 programacin orientada a objetos ejemplo

    8/22

    & 7return el precio del auto

    &%

    publicString ingresar0recio(* +

    String precio " 3!ption0ane.sho2InputDialog(null) 5Inserte el

    precio del auto? 5*;

    Double a " G.$;

    2hile (Kvalidaro(precio* a < $* +

    precio " 3!ption0ane.sho2InputDialog(null) 5El valor no

    puede ser menor a O#.$$$5*;

    if (validaro(precio** +

    a " Double.parseDouble(precio* G autos.DESCUEN!;

    ,

    validaro(precio*;

    ,

    return precio;

    ,

    %&&

    &

    & 7param fecha es el parametro ue se verifica en el metodo.

    & & 7return un valor de verdad

    &%

    private staticboolean validformatfecha(String fecha* +

    0attern pat " 0attern.compile(5F($GH+,*>%($GH+)M,*>%

    ($GH+)M,*O5*;

    -atcher mat " pat.matcher(fecha*;

    return mat.find(*;

    ,

    %&&

    & permite ingresar la fecha.

    & 7return fecha ingresada.

    &%

    publicDate ingresar/echa(* +

    int ao " $) mes " $) dia " $;

    String fecha " 3!ption0ane.sho2InputDialog(null) 5Ingrese una

    fecha? 5) 5M$$%$P%$P5*;

    boolean e1ist/echa " validformatfecha(fecha*;

  • 7/25/2019 programacin orientada a objetos ejemplo

    9/22

    2hile ((ao "" $* e1ist/echa "" false* +

    2hile (e1ist/echa "" false* +

    fecha " 3!ption0ane.sho2InputDialog(null) 5Ingrese unafecha? 5) 5M$$%$P%$P5*;

    e1ist/echa " validformatfecha(fecha*;

    ,

    String vect " fecha.split(5%5*;%%Se crea un vector de

    dimensi8n an8nima donde se almacenarLn los valores ingresados.

    ao " Integer.parseInt(vect$*;

    mes " Integer.parseInt(vect*;

    dia " Integer.parseInt(vectM*;

    if (ao < ao Q M$#* +

    e1ist/echa " false;

    ,

    if (mes < $ mes Q M* +

    e1ist/echa " false;

    ,

    if (mes "" @@ mes "" = @@ mes "" # @@ mes "" P @@ mes ""

    R @@ mes "" $ @@ mes "" M @@ (dia < dia Q =** +

    e1ist/echa " false;

    ,

    if (mes "" @@ mes "" @@ mes "" H @@ mes "" @@ (dia

    < dia Q =$** +

    e1ist/echa " false;

    ,

    if (mes "" M @@ (dia < dia Q MR** +

    e1ist/echa " false;

    ,

    ,

    Calendar fechaIngresada " Calendar.getInstance(*;

    fechaIngresada.set(ao) mes G ) dia*;

    Date fecha " fechaIngresada.getime(*;

    return (fecha*;

    ,

    ,

  • 7/25/2019 programacin orientada a objetos ejemplo

    10/22

    9. C+#S :N;

    package ec.edu.uce.programacion.clases;

    import ec.edu.uce.programacion.pojos.autos;

    import java.util.Calendar;

    import java.util.Date;

    import java1.s2ing.3!ption0ane;

    %&&

    & Esta clase nos permite generar el menT con el ue accederemos a las

    funciones del sistema

    &

    &%

    public class menu {

    %%creamos un arra' de la clase autos para almacenar los objetos

    autos car"ne2 autos=;

    %%creamos un objeto de la clase validar validar ingresar " ne2 validar(*;

    %%iniciali9amos el contador

    Integer contador "M;

    public void Menu(){

    Calendar fecha " Calendar.getInstance(*;

    fecha.set(M$M) R) MH*;

    %%lmacenamos objetos en la memoria del sistema

    car$ " ne2 autos(5MH$R5) 5'undai5) 5ucson5) M$$)

    fecha.getime(*) M=$$$.$*;

    fecha.set(M$=) ) =*;

    car " ne2 autos(5=$5) 5Chevrolet5) 5Camaro5) M$M)

    fecha.getime(*) #$$$$.$*;

    %%generamos el menT ' las opciones ue este tendrL

    String opcion " 55;

    2hile (Kopcion.eualsIgnoreCase(55** +

  • 7/25/2019 programacin orientada a objetos ejemplo

    11/22

    opcion " 3!ption0ane.sho2InputDialog(null) 5 -ENV?

    > 5Wn.G Insertar elemento5

    > 5WnM.G Editar elemento5

    > 5Wn=.G :orrar elemento5

    > 5Wn.G :uscar elemento5

    > 5Wn#.G Imprimir elemento5

    > 5Wn.G Salir5*;

    s2itch (opcion* +

    case 55?

    ingresar(*;

    breaA;

    case 5M5?

    editar(*;

    breaA;

    case 5=5?

    borrar(*;

    breaA;

    case 55?

    buscar(*;

    breaA;

    case 5#5?

    imprimir(*;

    breaA;

    case 55?

    breaA;

    ,

    ,

    ,

    %&&

    & -Btodo ue nos permite ingresar un nuevo auto con las

    caracterJsticas necesarias.

    &%

    public void ingresar() { if (contador < =* +

  • 7/25/2019 programacin orientada a objetos ejemplo

    12/22

    String codigo " ingresar.ingresarCodigo(car) contador*;

    String marca " 3!ption0ane.sho2InputDialog(null) 5Ingrese

    la marca del auto5*;

    String modelo " 3!ption0ane.sho2InputDialog(null) 5Ingrese

    el modelo del auto5*; Integer ao "

    Integer.parseInt(ingresar.ingresaro(**; %%parseInt? convierte un

    String a Integer

    Date fechadeIngreso " ingresar.ingresar/echa(*;

    Double precio "

    Double.parseDouble(ingresar.ingresar0recio(**; %%parseDouble? convierte

    un String a double

    carcontador " ne2 autos(codigo) marca) modelo) ao)

    fechadeIngreso) precio*;

    contador>>;

    , else +

    3!ption0ane.sho2-essageDialog(null) 5Xa capacidad ha sido

    alcan9ada5*;

    ,

    ,

    %&&

    & -Btodo ue nos permite editar los autos ue 'a se encuentran en el

    sistema.

    &%

    public void editar() {

    if (contador Q $* +

    :oolean 1 " false;

    String codigo " 3!ption0ane.sho2InputDialog(null) 5Ingrese

    el codigo del auto5*;

    for (int i " $; i < contador; i>>* +

    if (cari.getCodigo(*.euals(codigo** +

    String marca " 3!ption0ane.sho2InputDialog(null)

    5Ingrese la marca del auto5*;

    String modelo " 3!ption0ane.sho2InputDialog(null)

    5Ingrese el modelo auto5*;

    Integer ao "

    Integer.parseInt(ingresar.ingresaro(**; %%parseInt? conversi8n de

    String a Integer Date fechadeIngreso " ingresar.ingresar/echa(*;

  • 7/25/2019 programacin orientada a objetos ejemplo

    13/22

    Double precio "

    Double.parseDouble(ingresar.ingresar0recio(**; %%parseDouble? convierte

    un String a double

    cari " ne2 autos(codigo) marca) modelo) ao)fechadeIngreso) precio*;

    1 " true;

    breaA;

    ,

    ,

    if (1 "" false* +

    3!ption0ane.sho2-essageDialog(null) 5El c8digo

    ingresado no coincide con ningTn auto5*;

    ,

    , else +

    3!ption0ane.sho2-essageDialog(null) 5No ha' autos5*;

    ,

    ,

    %&&

    & -Btodo ue nos permite eliminar autos del sistema

    &%

    public void borrar() {

    if (contador Q $* +

    int i;

    autos temp " ne2 autoscontador G ;

    :oolean e1iste " false;

    String codigo " 3!ption0ane.sho2InputDialog(null) 5Ingrese

    el c8digo del auto?5*;

    for (i " $; i < contador; i>>* +

    if (cari.getCodigo(*.euals(codigo** + %%euals?

    verifica ue el c8digo ingresado sea igual al de la memoria

    e1iste " true;

    breaA;

    ,

    ,

    if (e1iste "" true* +

    for (int j " $; j < contador; j>>* +

    if (j < i* + tempj " carj;

  • 7/25/2019 programacin orientada a objetos ejemplo

    14/22

    ,

    if (j Q i* +

    tempj G " carj;

    ,

    , car " null;

    car " ne2 autos=;

    contadorGG;

    for (int j " $; j < (contador G *; j>>* +

    carj " tempj;

    ,

    , else +

    3!ption0ane.sho2-essageDialog(null) 5El c8digo

    ingresado no coincide con ningTn auto5*;

    ,

    , else +

    3!ption0ane.sho2-essageDialog(null) 5No ha' autos5*;

    ,

    ,

    %&&

    & -Btodo ue nos permite encontar autos ue 'a se encuentran en

    la memoria

    &%

    public void buscar() {

    if (contador Q $* +

    boolean e1iste"false;

    String codigo " 3!ption0ane.sho2InputDialog(null) 5Ingrese

    el c8digo del auto5*;

    String mostrar " 55;

    for (int i " $; i < contador; i>>* +

    if (cari.getCodigo(*.euals(codigo** + %%euals?

    verifica ue el c8digo ingresado sea igual al de la memoria

    mostrar >"5 uto? 5 > (i > * > 55

    > 5WnC8digo? 5 > cari.getCodigo(* > 55

    > 5Wn-arca? 5 > cari.get-arca(* > 55

    > 5Wn-odelo ? 5>cari.get-odelo(* > 55

    > 5Wno? 5 > cari.geto(* > 55

    > 5Wn/echa de Ingreso? 5>cari.get/echadeIngreso(* > 55

    > 5Wn0recio? 5 > cari.get0recio(*; e1iste"true;

  • 7/25/2019 programacin orientada a objetos ejemplo

    15/22

    breaA;

    ,

    ,

    if (Ke1iste* 3!ption0ane.sho2-essageDialog(null)5No e1iste

    ese c8digo5*;

    3!ption0ane.sho2-essageDialog(null) mostrar*;

    , else +

    3!ption0ane.sho2-essageDialog(null) 5no ha' autos5*;

    ,

    ,

    %&&

    & -Btodo ue nos permite imprimir en pantalla los autos almacenados en

    memoria.

    &%

    public void imprimir(* +

    if (contador Q $* +

    String mostrar " 55;

    for (int i " $; i < contador; i>>* +

    mostrar >"5 uto? 5 > (i > * > 55

    > 5WnC8digo? 5 > cari.getCodigo(* > 55

    > 5Wn-arca? 5 > cari.get-arca(* > 55

    > 5Wn-odelo ? 5>cari.get-odelo(* > 55

    > 5Wno? 5 > cari.geto(* > 55

    > 5Wn/echa de Ingreso? 5>cari.get/echadeIngreso(* > 55

    > 5Wn0recio? 5 > cari.get0recio(*>5WnWn5;

    ,

    3!ption0ane.sho2-essageDialog(null) mostrar*;

    , else +

    3!ption0ane.sho2-essageDialog(null) 5no ha' autos5*;

    ,

    ,

    ,

  • 7/25/2019 programacin orientada a objetos ejemplo

    16/22

    CLASE PRINCIPAL

    n la clase principal se invocan las clases P343S m,todos que a se

    crearon.

    #qu) se e'ecuta el programa.

    package ec.edu.uce.programacion.principal;

    import ec.edu.uce.programacion.clases.login;

    import ec.edu.uce.programacion.clases.menu;

    import java1.s2ing.3!ption0ane;

    public class clasePrincipal {

    public static void main(String args* +

    %%creamos un objeto de la clase menu ' de la clase login para poder

    acceder a las funciones

    login ingreso" ne2 login(*;

    menu -enu"ne2 menu(*;

    %%con la estructura ifGelse nos permite ingresar al programa con el

    usuario ' contrasea correctos

    if (ingreso.ingresar(** +

    %%accede al menT si el login se ejecut8 correctamente

    -enu.-enu(*;

    ,else+

    %%en caso de ue no se ingresen usuario ' contrasea correctos

    3!ption0ane.sho2-essageDialog(null) 5Su nombre de usuario

    '%o contrasea son invLlidos5*;

    ,

    ,

    ,

  • 7/25/2019 programacin orientada a objetos ejemplo

    17/22

    PROGRAMA:

    LOGIN

    MENU

  • 7/25/2019 programacin orientada a objetos ejemplo

    18/22

    OPCIN N6&: INSERTAR ELEMENTO

    Si el precio es incorrecto

  • 7/25/2019 programacin orientada a objetos ejemplo

    19/22

    OPCIN N6$: EDITAR ELEMENTO

  • 7/25/2019 programacin orientada a objetos ejemplo

    20/22

    OPCIN N67: BORRAR ELEMENTO

    Si el cdigo es incorrecto

    OPCIN N68: BUSCAR ELEMENTO

  • 7/25/2019 programacin orientada a objetos ejemplo

    21/22

    OPCIN N6': IMPRIMIR ELEMENTO

  • 7/25/2019 programacin orientada a objetos ejemplo

    22/22