Я кодирую в базовой системе ввода и идентификатора пользователя, но я не могу понять эту проблему индексации. Я понимаю, что массивы индексируются в 0, и в моем коде я выполняю цикл while (я пробовал цикл for, но у меня возникла та же проблема), проверяя i-ую позицию массива с введенным пин-кодом. по какой-либо причине я получаю эту ошибку:
Process: com.example.gabeskillerpcjr.assemblylineapp, PID: 17838 java.lang.ArrayIndexOutOfBoundsException: length=3; index=3
at com.example.gabeskillerpcjr.assemblylineapp.FourDtForm.exportVarifaction(FourDtForm.java:350)
at com.example.gabeskillerpcjr.assemblylineapp.FourDtForm$3.onClick(FourDtForm.java:264)
Вот мой простой цикл while, int i инициализируется в 0:
public void exportVarifaction(){
String[] PinsNums = new String[]{"1415","1678","1923"};
String[] PinNames = new String[]{"admin","test","test1"};
String tmp;
boolean done = false;
while (!done) {
tmp = PinsNums[i];
if (tmp.equals(keyPadNumsEntered)) {
result = PinNames[i];
loggedOn = true;
done = true;
} else {
++i;
result = "no logon";
}
}
}