Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2012, 13:13
pipeexz
 
Fecha de Ingreso: noviembre-2012
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 1
Llenar arreglo en el main

tengo un problema, necesito llenar un arreglo creado en la clase en el main, me explico, debo llenarlo mediante el set, intento hacerlo con un for pero no puedo por favor ayudaa

Class:
Código:
public class Estudiante {
    
    private String id;
    private String nombre;
    private String direccion;
    private int edad;
    private String sexo;
    private float[] califica=new float[5];

    public Estudiante(String id, String nombre, String direccion, int edad, String sexo)throws Exception {
        this.id = id;
        this.nombre = nombre;
        this.direccion = direccion;
        this.edad = edad;
        this.sexo = sexo;
        
    }
    
    public Estudiante() throws Exception{
      
        for(int i=0;i<califica.length;i++){
            this.califica[i]=0;
        }
    }

    public float[] getCalifica() {
        return califica;
    }

    public void setCalifica(float [] califica) throws Exception {
        for(int i=0;i<this.califica.length;i++){
            if(this.califica[i]<=7 && this.califica[i]>=1){
                this.califica = califica;
                }else{
                throw new Exception ("El numero debe estar en un rango entre 1 y 7 ");
                }
            }
        }

    public String getDireccion() {
        return direccion;
    }

    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }
    
    public float promedio(){
    float suma=0;
    for(int i=0;i<califica.length;i++){
    suma=suma+califica[i];
    }
    return suma/califica.length;
    }
    
    public void llenarArray(){
            for(int i=0;i<califica.length;i++){
                califica[i]=Float.parseFloat(JOptionPane.showInputDialog("Ingrese la calificacion "+(i+1)));
                }
        }
    
    public String mostrarCalificaciones(){
        return Arrays.toString(this.califica);
    
    }
    

    @Override
    public String toString() {
        return "ID: " + id + "\nNombre: " + nombre + "\nDireccion: " + direccion + "\nEdad: " + edad + "\nSexo: " + sexo + ' ';
    }  
}

Main:

Código:
    
public class main {

public static void main(String[] args) throws Exception{
        
       List <Estudiante> estudiantes=new ArrayList();
       
       JOptionPane.showMessageDialog(null,"Software Estudiantes");
       
       int cuantos= Integer.parseInt(JOptionPane.showInputDialog("Ingrese cuantos estudiantes"));
       
       
       for(int i=0;i<cuantos;i++){
       Estudiante object=new Estudiante();
       
       object.setNombre(JOptionPane.showInputDialog("Ingrese nombre del estudiante "+(i+1)));
       object.setEdad(Integer.parseInt(JOptionPane.showInputDialog("Ingrese la edad de "+object.getNombre())));
       object.setSexo(JOptionPane.showInputDialog("Ingrese el sexo de "+object.getNombre()));
       object.setDireccion(JOptionPane.showInputDialog("Ingrese la direccion de "+object.getNombre()));
       object.setId(JOptionPane.showInputDialog("Ingrese la ID de "+object.getNombre()));
       JOptionPane.showMessageDialog(null,"Los datos del estudiante "+(i+1)+" son: \n\n"+object.toString());
       object.llenarArray();
       JOptionPane.showMessageDialog(null,"Las calificaciones de "+object.getNombre()+" son: "+object.mostrarCalificaciones());
       JOptionPane.showMessageDialog(null,"El promedio de las calificaciones de "+object.getNombre()+" es: "+object.promedio());
       estudiantes.add(object);
       }
     
       }
       
    }
si se fijan si lleno el arreglo pero mediante un metodo qe cree en la clase pero me exigen llenarlo mediante el setCalifica.