domingo, 3 de abril de 2011

Ejercicio de Ejemplo - Clases y Objetos

Construir una clase en java que defina a un estudiante, teniendo como atributos su número de carnet, nombre y las notas correspondientes al primer parcial, segundo parcial, trabajo acumulado y exámen final.  La clase deberá tener los métodos necesarios para encontrar la nota final del estudiante basado en el cálculo usado en la UCYT (el primer parcial, el segundo parcial y el trabajo acumulado corresponden al 20% de la nota final cada uno y el exámen final el 40%).  Del mismo modo deberá tener un método que defina si el estudiante esta aprobado o reprobado.  Un tercer método deberá imprimir la información del estudiante en una caja de diálogo gráfica.   Deberá crear también una clase que contenga el método main donde se pidan los datos del estudiante de forma gráfica (utilizando la interface SWING), creando un objeto alumno y definiendo sus atributos.

SOLUCION:
Vamos a construir dos clases una llamada Notas y otra llamada Alumno.  Se pueden hacer dos archivos separados y compilarlos posteriormente.  Si los dos archivos están en el mismo directorio, java reconocerá y buscará la clase.

Definimos la clase Alumno (Alumno.java)

// Clase Alumno
import javax.swing.*;
public class Alumno {
    String carnet;
    String nombre;
    int notapp;
    int notasp;
    int notata;
    int notaef;

    public double notafinal()
    {
        double nf;
        nf = (this.notapp * 0.20) + (this.notasp * 0.20)
              + (this.notata * 0.20) + (this.notaef * 0.40);
        return nf;
    }

    public String estado()
    {
        if (this.notafinal() >= 70 )
            return "Aprobado";
        else
            return "Reprobado";
    }

    public void MostrarDatos()
    {
        String datos = "Nombre      :" + "\t" + this.nombre + "\n" +
                       "Carnet No.  :" + "\t" +  this.carnet + "\n" +
                       "Nota 1P     :" + "\t" +  this.notapp + "\n" +
                       "Nota 2P     :" + "\t" +  this.notasp + "\n" +
                       "Nota TA     :" + "\t" +  this.notata + "\n" +
                       "Nota EF     :" + "\t" +  this.notaef + "\n" +
                       "Nota Final  :" + "\t" +  this.notafinal() + "\n" +
                       "Estado      :" + "\t" +  this.estado();
        JOptionPane.showMessageDialog(null, datos);
    }
  
}

Ahora podemos definir la clase que contendrá el programa principal (Notas.java)

import javax.swing.*;
public class notas {
    public static void main(String[] args) {
        // TODO code application logic here
        Alumno a = new Alumno();
        a.carnet = JOptionPane.showInputDialog("Carnet del Estudiante: ");
        a.nombre = JOptionPane.showInputDialog("Nombre del Estudiante: ");
        a.notapp = Integer.parseInt(JOptionPane.showInputDialog("Nota del Primer Parcial: "));
        a.notasp = Integer.parseInt(JOptionPane.showInputDialog("Nota del Segundo Parcial: "));
        a.notata = Integer.parseInt(JOptionPane.showInputDialog("Nota del Trabajo Acumulado: "));
        a.notaef = Integer.parseInt(JOptionPane.showInputDialog("Nota del Examen Final: "));
        a.MostrarDatos();
    }
}




No hay comentarios:

Publicar un comentario