Ejemplos Java - Cuarta Parte
Ejemplos Java - Cuarta Parte
class Calificacion { private double nota1, nota2, nota3; private String nombre;
//constructor implcito public Calificacion() { } //constructor explcito public Calificacion(String nombre, double nota1, double nota2, double nota3) { this.nombre=nombre; this.nota1=nota1; this.nota2=nota2; this.nota3=nota3; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } 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 calcularPromedio() { return (this.nota1 + this.nota2 + this.nota3) / 3; } public void mostrarDatos() { JOptionPane.showMessageDialog(null, "Nombre:" +getNombre() +"\n"+"Promedio: "+calcularPromedio()); }
Cdigo enviados desde Main: //utiliza el constructor explcito enviandole valores a los argumentos Calificacion alumno01 = new Calificacion("Juan",6.5,7.5,8.5); //utiliza el constructor implcito Calificacion alumno02 = new Calificacion(); //enviando valores a la clase alumno02.setNombre("Jose"); alumno02.setNota1(8.5); alumno02.setNota2(7.5); alumno02.setNota3(9.5); //usando el mtodo de la clase para mostrar resultados alumno01.mostrarDatos(); alumno02.mostrarDatos();
Sugerencias: Intente agregar validaciones en Main, y tambin pruebe no validndolo en Main, sino dentro de la clase Calificacion.
Ejemplo #2: Empleados por comisin y empleados con salario base. Clase EmpleadoPorComision import javax.swing.JOptionPane; public class EmpleadoPorComision { private String nombre; private double ventasBrutas; //ventas semanales totales private double tarifaComision; //porcentaje de comision public EmpleadoPorComision(){} //constructor implcito //constructor explcito public EmpleadoPorComision(String nombre, double ventasBrutas, double tarifaComision){ setNombre(nombre); setVentasBrutas(ventasBrutas); setTarifaComision(tarifaComision); } public String getNombre() { return nombre; } public void setNombre(String nombre) { if ((nombre==null)||(nombre.equals(""))) { System.out.println("Nombre vaco..."); this.nombre=""; } else{ this.nombre = nombre;}
} public double getVentasBrutas() { return ventasBrutas; } public void setVentasBrutas(double ventasBrutas) { this.ventasBrutas = (ventasBrutas<0.0?0:ventasBrutas); } public double getTarifaComision() { return tarifaComision; } public void setTarifaComision(double tarifaComision) { this.tarifaComision = ((tarifaComision>1.0) || (tarifaComision<0.0)?0:tarifaComision); } //metodo para calcular el salario del empleado por comision public double calcularSalario(){ return getTarifaComision()*getVentasBrutas(); } //metodo para devolver una cadena String del objeto EmpleadoPorComision public void mostrarDatos(){ JOptionPane.showMessageDialog(null, "Nombre: "+this.nombre+"\n"+"Ventas Brutas: "+this.ventasBrutas+"\n"+"Tarifa de Comisin: "+this.tarifaComision+"\n"+"Salario: "+calcularSalario()); } }
Clase: EmpleadoPorComisionMasBase import javax.swing.JOptionPane; public class EmpleadoPorComisionMasBase extends EmpleadoPorComision{ private double salarioBase; //salario base semanal public EmpleadoPorComisionMasBase(){} //constructor explicito public EmpleadoPorComisionMasBase(String nombre, double ventasBrutas, double tarifaComision, double salarioBase){ super(nombre,ventasBrutas,tarifaComision); //invoca al constructor de la clase base setSalarioBase(salarioBase); } public double getSalarioBase() { return salarioBase; } public void setSalarioBase(double salarioBase) { this.salarioBase = ((salarioBase>=0 && salarioBase<=1000)?salarioBase:0); } //metodo para calcular el salario del empleado por comision public double calcularSalario(){ double tarifaComision = getTarifaComision(); double ventasBrutas = getVentasBrutas(); return getSalarioBase()+ (tarifaComision*ventasBrutas); } //metodo para devolver una cadena String del objeto EmpleadoPorComision
public void mostrar(){ JOptionPane.showMessageDialog(null, "Nombre: "+getNombre()+"\n"+"Ventas Brutas: $"+getVentasBrutas()+"\n"+"Tarifa de Comisin: "+getTarifaComision()+"\n"+"Salario Base: $"+getSalarioBase()+"\n"+"Salario Total: $"+calcularSalario()); } }
Cdigo de la clase Main: String nombre; double ventas, tarifa, salario; int tipo; do{ tipo = Integer.parseInt(JOptionPane.showInputDialog("Tipo de empleado: 1.Por Comision 2.Con salario base")); }while(tipo<1 || tipo>2);
nombre = JOptionPane.showInputDialog("Nombre"); ventas = Double.parseDouble(JOptionPane.showInputDialog("Ventas brutas:")); tarifa = Double.parseDouble(JOptionPane.showInputDialog("Tarifa (entre 0.0 y 1.0")); switch (tipo){ case 1: EmpleadoPorComision empleado1 = new EmpleadoPorComision(nombre, ventas,tarifa); empleado1.mostrarDatos(); break; case 2: salario = Double.parseDouble(JOptionPane.showInputDialog("Salario Base (mximo 1000)")); EmpleadoPorComisionMasBase empleado2 = new EmpleadoPorComisionMasBase(nombre, ventas, tarifa, salario); empleado2.mostrar();
break; }
Sugerencia: Intente modificar los constructores explcitos de las clases EmpleadoPorComisionMasBase y EmpleadoPorComision, utilizando en lugar de los mtodos set, las asignaciones directas con la instruccin this. Qu descubri?