import java.lang.*; // No es necesario, se importa por defecto // Definicion de la clase Calculadora class Calculadora{ // Atributos private double op1, op2; // Operandos private double res; // Resultado de la operacion // Operaciones examinadoras public double getOp1 (){ return op1; } public double getOp2 (){ return op2; } public double getRes (){ return res; } // Operaciones modificadoras public void setOp1 (double val1){ op1 = val1; } public void setOp2 (double val2){ op2 = val2; } // Operaciones interesantes public void sumar(){ res = op1 + op2; } public void dividir(){ res = op1 / op2; } } // Definicion de la clase Estudiante class Estudiante{ // Atributos private String cod; private double n1, n2, def; // Metodos examinadores public double getN1(){ return n1; } public double getN2(){ return n2; } public String getCod(){ return cod; } public String toString(){ // Permite consultar el estado return "** Codigo: "+cod+" ** " +"Nota 1 = "+n1+" ** " +"Nota 2 = "+n2+" ** " +"Definitiva = "+def+" **\n"; } // Metodos modificadores public void setN1 (double nota){ if (nota >= 0 && nota <= 5) n1 = nota; else n1 = 0; } public void setN2 (double nota){ n2 = (nota >= 0 && nota <= 5) ? nota : 0 ; // if "comprimido" } public void setCod(String codigo){ cod = codigo; } // Otros metodos public void calcularPromedio(){ // Crear el objeto calculadora Calculadora calc; // Declaracion del objeto calc = new Calculadora(); // Instanciacion del objeto double suma; // Dialogo para calcular el promedio calc.setOp1(n1); // 1er. mensaje calc.setOp2(n2); // 2do. mensaje calc.sumar(); // etc... suma = calc.getRes(); calc.setOp1(suma); calc.setOp2(2); calc.dividir(); def = calc.getRes(); } } // Clase que representa el programa principal public class CalcularNotas{ public static void main(String par[]){ // Se instancia un arreglo de objetos Estudiante Estudiante alumnos[]; alumnos = new Estudiante[10]; for(int i=0; i<10; i++) alumnos[i] = new Estudiante(); // Comunicarme con el objeto for(int i=0; i<10; i++){ alumnos[i].setCod("200220201"+(int)(Math.random()*9)+(int)(Math.random()*9)); alumnos[i].setN1((int)(Math.random()*5)); // Casting a (int) alumnos[i].setN2((int)(Math.random()*5)); alumnos[i].calcularPromedio(); } // Mostrar el estado actualizado System.out.println("**************** LISTADO *************\n"); for(int i=0; i<10; i++) System.out.println(alumnos[i].toString()); } }