2014-05-02 1 views
0

Je travaille avec l'agrégation et l'héritage et je n'arrive pas à comprendre comment avoir des tableaux séparés pour des objets séparés. Avec cet exemple, comment pourrais-je faire pour que chaque club ait son propre groupe de personnes afin que je puisse imprimer une liste des clubs et des membres qui appartiennent à chacun.Comment créer un tableau à l'intérieur d'un objet? (java)

public class Application{ 
    public static Club[] clubArray = new Club[10]; 

    //prompt user for club name 
    clubArray[x++] = new Club(name); 

    //prompt user for person name 
    Person newPerson = new Person(name); 
    clubArray[x-1].addPerson(newPerson); 
    personCount++; 

} 

public class Club{ 
    public Person[] personArray = new Person[100]; 

    //addPerson method 
    public void addPerson(Person newPerson){ 
      personArray[x] = newPerson; 
     } 
    } 
} 
+1

liés par un même utilisateur http://stackoverflow.com/questions/23432881/print-out-objects-within-objects-stocked-in-different-arrays-using-tostring-j – DoubleDouble

+1

Le code de cette question semble correct, mais le reste semble avoir des parties manquantes. Les variables 'x' et' i' ne sont jamais déclarées par exemple et vous n'avez jamais vu utiliser le personArray –

+0

Le problème se situe probablement ailleurs dans votre code. Ce que vous avez ici devrait avoir pour résultat que chaque instance 'Club' ait sa propre instance' personArray'. –

Répondre

0

Vous ne pouvez pas placer le code brut comme vous l'aviez, vous devez le mettre dans une méthode (ou un static block) -

public static Club[] clubArray = new Club[10]; 
public static int x = 0; // <-- init to 0. 

// You need a method... let's call it addClub. 
public static void addClub(String name, String personName) { 
    if (x >= clubArray.length) { 
    // Array is full. 
    return; 
    } 
    clubArray[x] = new Club(name); // <-- pass in the club name. 

    Person newPerson = new Person(personName); // <-- pass in the person name 
    clubArray[x].addPerson(newPerson); 
    personCount++; // <-- Not sure where you want this.... 
    x++; 
} 
Questions connexes