En cours de traitement, j'essaie de créer une ArrayList de IntLists de sorte que le nombre initial d'éléments dans ArrayList soit variable pour commencer (mais je ne le changerai pas dans le code) et le nombre des éléments dans IntList est initialement 0 mais sera ajouté et modifié dans le code. Mon code est un jeu Ladder japonais dans lequel ArrayList est constitué de Ladders, chacun ayant une IntList contenant des "Rungs" qui sont des composants int qui correspondent à un emplacement Y sur l'échelle.Modification d'entrées dans ArrayList de IntLists
ArrayList <IntList> Ladders = new ArrayList <IntList>();
IntList temp = new IntList();
void setup()
{
for(int i=0;i<numRails-1;i++)
{
Ladders.add(new IntList());
temp.clear();
temp.append(0);
Ladders.set(i,temp);
}
}
void addRung (int spot)
{
temp.clear();
temp = Ladders.get(spot);
temp.append(50);
//note that 50 is an arbitrary number, it would be given by MouseY
Ladders.set(spot,temp);
print(Ladders);
//I have also tried...
Ladders.get(spot).append(50);
}
Donc mon problème est que addRung() semble ajouter 50 à chaque élément DELA ArrayList et « impression (échelles); » sorties ...
[IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ], IntList size=1 [ 50 ]]
Y a-t-il une meilleure façon de s'y prendre entièrement ou est-ce que je fais quelque chose de mal?
I inclus une image de ce que mon code est ... fournir en sortie It should be a single rung at location 50 but it is 9 rungs at 50.
Vous créez une seule IntList en l'ajoutant 50 fois à ArrayList. Vous avez besoin de 50 IntLists différentes. –
Comment pourrais-je écrire ma fonction addRung() pour faire cela? –