У меня странная ошибка при выполнении проекта Java на Netbeans.У меня есть следующая функция, которая выполняется в основном:
public ArrayList<String> getPlayersName(){
ArrayList<String> list = new ArrayList<>();
int players;
System.out.println("Number of players:");
players = in.nextInt();
for(int i=0; i<players; i++){
System.out.println("Player name:");
String s = in.next();
list.add(s);
}
return list;
}
Когда я выполняю проект, я получаю следующие ошибки:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
Вводимый мной ввод такой же простой, как: 2, а, б.Любопытно, что иногда при одинаковых аргументах программа выполняется нормально.
Основная программа:
public static void main(String args[]) {
QytetetTextView ui = new QytetetTextView();
controller.setPlayersName(ui.getPlayersName());
int chosenOp, casillaElegida = 0;
boolean needChooseBox;
do {
chosenOp = ui.elegirOperacion();
System.out.println(controller.getEstado());
needChooseBox = controller.needChoseBox(chosenOp);
if (needChooseBox)
casillaElegida = ui.chooseBox(chosenOp);
if (!needChooseBox || chosenBox >= 0)
System.out.println(controlador.runOp(chosenOp, chosenBox));
} while (1 == 1);
}