miércoles, 20 de febrero de 2019

PROGRAMACION ORIENTADO OBJETOS EN JAVA

PROGRAMACION ORIENTADO OBJETOS EN JAVA 
===========================================


Ejercicio 1:
=========
Cree un proyecto nuevo de nombre P01E01. Cree un paquete nuevo de nombre modelo y diseñe una clase de nombre Producto con los siguientes atributos privados: código (cadena), descripción (cadena), precio (real) y con los métodos públicos get/set. Cree un nuevo paquete de nombre vista y diseñe la GUI en un Panel de nombre PanelPrincipal para el ingreso de los datos con el siguiente diseño:
Cada vez que hace clic en el botón Nuevo debe crear un objeto de la clase Producto y mostrar la información de sus atributos. Cada vez que hace clic en el botón Borrar debe borrar la información del área de texto, de las cajas de texto y enfocar el ingreso en la caja de texto del código.

Solucion:
---------------

Diseñamos una clase, de nombre Producto
Con los siguientes atributos privados: código (cadena), descripción (cadena), precio (real) y los métodos públicos get/set. Considere un constructor implícito.

public class Producto {
// atributos privados
private String codigo,
private String descripcion;
private double precio;

// métodos get
public String getCodigo(){return codigo;}
public String getDescripcion(){return descripcion;}
public double getPrecio(){ return precio;}
// métodos set

public void setCodigo(String c){ codigo =c;}
public void setDescripcion(String d){ descripcion=d;}
public void setPrecio(double p){ precio=p;}
}

Damos doble clic en el botón Nuevo para programar su acción:

private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {
// crea un objeto nuevo de la clase Producto
  Producto nuevo = new Producto();

// lee los valores de la GUI y los coloca como atributos del objeto
  nuevo.setCodigo(leeCodigo());
  nuevo.setDescripcion(leeDescripcion());
  nuevo.setPrecio(leePrecio());

// muestra la información del nuevo objeto
  lista(nuevo);
}

// métodos que leen los datos de la GUI
private String leeCodigo(){return txtCodigo.getText();}
private String leeDescripcion(){return txtDescripcion.getText();}
private double leePrecio(){return Double.parseDouble(txtPrecio.getText());}

// método que muestra la información de un objeto de la clase Producto
private void lista(Producto p){
  imprime("Codigo\t:"+p.getCodigo());
  imprime("Descripcion\t:"+p.getDescripcion());
  imprime("Precio\t:"+p.getPrecio());
}

// método que muestra una cadena en el objeto de salida de la GUI
private void imprime(String s){
  txtSalida.append(s+"\n");
}

Regresamos al diseño y hacemos doble clic en el botón Borrar para programar su acción:
private void btnBorrarActionPerformed(java.awt.event.ActionEvent evt) {
  txtSalida.setText("");
  txtCodigo.setText("");
  txtDescripcion.setText("");
  txtPrecio.setText("");
  txtCodigo.requestFocus();
}

En el paquete vista
Coloque distribución BorderLayout, vaya a la ficha Source y escriba lo que está en negrita:
public class Principal extends javax.swing.JFrame {
public Principal() {
  initComponents();
  add(new PanelPrincipal());
  setSize(600,200);
}
Ejecute su aplicación.



Ejercicio 2:
=========
Realice un formulario que permita el ingreso de Nombres y Apellidos, Curso, Nota 1, Nota2, Nota 3 y que se Muestre en un Area de Texto la suma de notas, promedio, la condicion del promedio si es mayor o igual a 10.5 esta aprobado o desaprobado y el estado del promedio "0-5(Pesimo)",  "6-10(Malo)", "11-15(Regular)" , "16-18(Bueno) y "19-20(Excelente)""

Solucion:
------------
Diseñe la GUI en un JFrame de nombre JFEstudiante para el ingreso de los datos.



Diseñamos una clase, de nombre Estudiant
Con los siguientes atributos privados: nombre (cadena), apellidos (cadena), curso (cadena), nota1, nota 2 y nota 3 (double) y los métodos públicos get/set.


public class Estudiante {

    private String nombre;
    private String apellidos;
    private String curso;
    private double nota1;
    private double nota2;
    private double nota3;

    public Estudiante(String nombre, String apellidos, String curso, double nota1, double nota2, double nota3) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.curso = curso;
        this.nota1 = nota1;
        this.nota2 = nota2;
        this.nota3 = nota3;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public String getCurso() {
        return curso;
    }

    public void setCurso(String curso) {
        this.curso = curso;
    }

    public double getNota1() {
        return nota1;
    }

    public void setNota1(double nota1) {
        this.nota1 = nota1;
    }

    public double getNota2() {
        return nota2;
    }

    public void setNota2(double nota2) {
        this.nota2 = nota2;
    }

    public double getNota3() {
        return nota3;
    }

    public void setNota3(double nota3) {
        this.nota3 = nota3;
    }

    public double getSumaNotas() {
        return this.getNota1() + this.getNota2() + this.getNota3();
    }

    public double getPromedioNotas() {
        double promedio = (this.getNota1() + this.getNota2() + this.getNota3()) / 3;
        return promedio;
    }

    public String getCondicionPromedio(double prom) {
        String condicion = "";
        if (prom >= 10.5) {
            condicion = "aprobado";
        }
        else {
            condicion = "desaprobado";
        }
        return condicion;
    }

    public String getEstadoPromedio(double prom) {
        String estado = "";
        if (prom >= 0 && prom <= 5) {
            estado = "Pesimo";
        }
        else if (prom >= 6 && prom <= 10) {
            estado = "Malo";
        }
        else if (prom >= 11 && prom <= 15) {
            estado = "Regular";
        }
        else if (prom >= 16 && prom <= 18) {
            estado = "Bueno";
        }
        else if (prom >= 19 && prom <= 20) {
            estado = "Excelente";
        }
        return estado;
    }
}

Damos doble clic en el botón Procesar para programar su acción:

// crea un objeto e de la clase Estudiante
   Estudiante e = new Estudiante(leeNombres(),leeApellidos(),leeCurso(),leeNota1(),leeNota2(),leeNota3());
     
// muestra la información del objeto
   listaEstudiante(e);


//metodos que leen los datos de la GUI
    private String leeNombres(){
        return txtNombres.getText();
    } 
 
    private String leeApellidos(){
        return txtApellidos.getText();
    }
 
    private String leeCurso(){
        return cboCurso.getSelectedItem().toString();
    }
 
    private double leeNota1() {
        return Double.parseDouble(txtNota1.getText());
    }

    private double leeNota2() {
        return Double.parseDouble(txtNota2.getText());
    }
 
    private double leeNota3(){
        return Double.parseDouble(txtNota3.getText());
    }

// método que muestra la información de un objeto de la clase Estudiante
private void listaEstudiante(Estudiante e){
        imprimir("Nombres y Apellidos:\t" + e.getNombre() + e.getApellidos());
        imprimir("Curso:\t\t" + e.getCurso());
        imprimir("Nota1:\t\t"+e.getNota1());
        imprimir("Nota2:\t\t"+e.getNota2());
        imprimir("Nota3:\t\t"+e.getNota3());
        imprimir("Suma Notas:\t\t"+e.getSumaNotas());
        imprimir("Promedio Notas:\t"+e.getPromedioNotas());
        imprimir("Condicion del Promedio:\t" +e.getCondicionPromedio(e.getPromedioNotas()));
        imprimir("Estado Promedio:\t" + e.getEstadoPromedio(e.getPromedioNotas()));
    }

// método que muestra una cadena en el objeto de salida de la GUI
  private void imprimir(String cad){
        txtSalida.append(cad+"\n");
      }

Regresamos al diseño y hacemos doble clic en el botón Limpiar para programar su acción:
private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) {
  limpiar();
}

void limpiar(){
         this.txtNombres.setText(null);
         this.txtApellidos.setText(null);
         this.cboCurso.setSelectedIndex(0);
         this.txtNota1.setText(null);
         this.txtNota2.setText(null);
         this.txtNota3.setText(null);
         this.txtSalida.setText(null);
         txtNombres.requestFocus();
}

Hacemos doble clic en el botón Cerrar para programar su acción:
private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) {                                       
       cerrar();
    } 

  void cerrar(){
        this.dispose();
    }

No hay comentarios:

Publicar un comentario

Instalación y Configuración de un DNS Público en Debian 12

Configuración de un DNS Público en Debian 12 ===================================== Registrar un dominio público en Goddady, Namecheap  ó pun...