Я знаю, о чем идет речь, но я смущен тем, как моя программа выводит значение вне массива.
У меня есть массив ints, который равен 0 - 8, что означает, что он может содержать 9 ints, правильно? У меня есть int, который проверяется, чтобы убедиться, что значение ввода пользователя равно 1-9. Я удаляю один из целого числа (например)
if (posStatus[intUsersInput-1] == 0) //if pos is empty
{
posStatus[intUsersInput-1] += 1;
}//set it to 1
тогда я сам ввожу 9, и я получаю ошибку. Он должен получить доступ к последнему int в массиве, поэтому я не понимаю, почему я получаю сообщение об ошибке. Соответствующий код:
public int[] posStatus;
public UsersInput()
{
this.posStatus = new int[8];
}
int intUsersInput = 0; //this gets try parsed + validated that it 1-9
if (posStatus[intUsersInput-1] == 0) //if i input 9 it should go to 8?
{
posStatus[intUsersInput-1] += 1; //set it to 1
}
Ошибка:
"Index was outside the bounds of the array." "Index was outside the bounds of the array."