import java.util.Random;
import java.util.ArrayList;
public class Game {
ArrayList<Integer> numere = new ArrayList<>();
ArrayList<Bila> balls = new ArrayList<Bila>();
ArrayList<String> culori = new ArrayList<>();
Random random = new Random();
int nrBalls=0;
public void createColours(){
for(int i=0;i<7;i++){
culori.add("Portocaliu");
culori.add("Rosu");
culori.add("Albastru");
culori.add("Verde");
culori.add("Negru");
culori.add("Galben");
culori.add("Violet");
}
}
public void createNumbers(){
for(int i=1;i<50;i++){
numere.add(i);
System.out.print(numere.size());
}
}
public void createBalls(){
while(nrBalls<36){
int nr =numere.get(random.nextInt(numere.size()));
numere.remove(nr);
String culoare =culori.get(random.nextInt(culori.size()-1));
culori.remove(culoare);
balls.add(new Bila(culoare,nr));
nrBalls++;
}
}
}
ich eine andere Klasse mit Hauptverfahren haben zu entfernen und in dieser Klasse i createNumbers() aufrufen, createColours(), createBalls(). Wenn ich das Programm laufen bekomme ich eine IndexOutOfBoundsException bei numere.remove (nr) sprich index: eine nummer und größe: eine andere nummer ..immer ist die zweite nummer kleiner als die erste nummer..Warum passiert das? wo liege ich falsch?ganze Zahl von Arraylist IndexOutOfBoundsException So
Ja, ich möchte es die Nummer in meiner Arraylist an dieser Position –
@BaiRadule entfernen, eine aktualisierte Antwort mit ein bisschen mehr Erklärung zur Verfügung gestellt. Im Wesentlichen nahm der ursprüngliche Code den ** -Wert ** vom Array und versuchte dann, den ** Wert ** aus dem Index zu entfernen, und nicht den Indexstandort. – KevinO
danke Mann, das ist die Antwort, die ich suchte –