Sunteți pe pagina 1din 4

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

FACULTAD DE INGENIERIA DE SISTEMAS


E.A.P. INGENIERIA DE SOFTWARE

PROGRAMACION II

PRACTICA 4: Arreglo de Objetos

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();

************************************************************

public class Alumno {
String codigo;
Clase Alumno
Atributos:
codigo
nombre
promediofinal

Mtodos:
Alumno(.)
AsignarNombre(.)
ObtenerNombre()



Clase ArregloAlumnos
Atributos:
Alumno[] ca
nElementos
Mtodos:
ArregloAlumnos( )
ingresar( )
buscarAlumno(codigo)
agregarporcodigo(Alumno .)
actualizarlongitudArreglo(Alumno[] )
aadirobjeto(ndicex, Alumno )
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);

}
public void ingresar() {
String codigo_i,nombre_i;
int promediofinal_i;
Alumno at=new Alumno();
System.out.print("Codigo: ");
codigo_i=PromedioAlumnos.dato();
System.out.println("codigo ingresado: "+codigo_i);
if(!buscarAlumno(codigo_i)){
at.setCodigo(codigo_i);
System.out.print("Nombre: ");
nombre_i=PromedioAlumnos.dato();
at.setNombre(nombre_i);
System.out.print("Promedio final(entero): ");
promediofinal_i=PromedioAlumnos.datoInt();
agregarporcodigo(new Alumno(codigo_i,nombre_i,promediofinal_i));
}
}
public void visualizar(){
System.out.println("DATOS INGRESADOS");
for(int i=0;i< nElementos;i++){
System.out.print(ca[i].getCodigo()+" "+ca[i].getNombre()+"
"+ca[i].getPromediofinal());
System.out.println();
}
}
}

import java.io.*;
public class PromedioAlumnos {
public static int datoInt(){
return Integer.parseInt(dato());
}
public static String dato(){
String sdato="";
try{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader flujoE=new BufferedReader(isr);
sdato=flujoE.readLine();
}
catch(IOException e){
System.err.println("ERROR"+e.getMessage());
}
return sdato;
}

public static void main(String[] args) {
int na;
ArregloAlumnos oa=new ArregloAlumnos();
System.out.print("Numero de alumnos: ");
na=PromedioAlumnos.datoInt();
for(int i=0;i<na;i++)
oa.ingresar();
oa.visualizar();

}
}

S-ar putea să vă placă și