Dada la clase Alumno, con los datos: cdigo, nombre, promedio final; definir un arreglo de alumnos, para permitir: ingresar y agregar por cdigo cuando ste no existe, luego mostrar los alumnos ingresados. Al ingresar se debe buscar si el cdigo del alumno existe o no en el arreglo, para poder agregar o no al arreglo. Al aadir un elemento, se actualiza la longitud del arreglo de objetos, y luego se aade el objeto al final. Pedir el nmero de alumnos para procesar.
Anlisis: Existen mtodos para ingresar, agregar por cdigo, mostrar, buscar alumno por cdigo, actualizar longitud del arreglo, aadir un objeto.
Clase(s) solucin:
Mtodo Principal:
// Crear objeto Arreglo de alumnos vaco (con cero elementos) Para el objeto definido llamar a ingresar(); Para el objeto definido llamar a mostrar();
String nombre; int promediofinal; public Alumno(){} public Alumno(String cod,String nom,int pf){ codigo=cod; nombre=nom; promediofinal=pf; } public void setCodigo(String cod){ codigo=cod; } public void setNombre(String nom){ nombre=nom; } public void setPromediofinal(int pf){ promediofinal=pf; } public String getCodigo() { return codigo; } public String getNombre() { return nombre; } public int getPromediofinal() { return promediofinal; } }
public class ArregloAlumnos { private Alumno[] ca; //Arreglo de objetos de la clase Alumno private int nElementos; // n o de elementos del arreglo public ArregloAlumnos(){ nElementos=0; ca=new Alumno[nElementos]; //Crea un arreglo vaco Alumno con } // cero elementos public boolean buscarAlumno(String cod) { for(int i=0;i< nElementos++){ if(cod.equals(ca[i].getCodigo())) {System.out.println("codigo encontrado"); return true;} } System.out.println("codigo no encontrado"); return false; } private void unElementoMas(Alumno[] listaActual){ nElementos= listaActual.length; ca=new Alumno[nElementos+1]; for(int i=0;i< nElementos;i++) ca[i]=listaActual[i]; nElementos++; } public void ponerValorEn(int i,Alumno objeto){ if(i>=0 && i< nElementos) ca[i]=objeto; else System.out.println("Indice fuera de limites"); } public void agregarporcodigo(Alumno obj){ unElementoMas(ca); ponerValorEn(nElementos-1,obj);