Я пытаюсь создать программу, в которой пользователь вводит первую часть почтового индекса, либо 3, либо 4 символа (я знаю, что это может быть два, но я могу добавить, что в позже), и программа проходит через 2-мерный массив и выводит все значения, которые коррелируют с ним. Я думал, что моя логика звучит в получении подстроки почтового индекса в двухмерном массиве (который формируется из документа csv, который читается в нем в предыдущем разделе кода). Я получаю серию ошибок в консоли, и я понятия не имею, что происходит не так. Просто хотел опубликовать здесь, чтобы узнать, сможет ли кто-нибудь помочь мне в этом. Ниже приведен код метода, отвечающего за проведение этого процесса из:Не удается найти элементы в двухмерном массиве
public void PostCodeSearch(){
ReadingFromAFile();
String StrPstCd = PstCd.getText();
for (int x = 0; x < twod.length; x++) {
if (StrPstCd.length() == 3){
String PstCdSub = twod[x][3].substring(0,2);
if (StrPstCd.equals(PstCdSub)) {
text.append("Price = " + twod[x][1] + " " + "Date of Sale: " + twod[x][2] + " " + "Postcode: " + twod[x][3] + "\n");
}
}else if(StrPstCd.length() == 4){
String PstCdSub = twod[x][3].substring(0,3);
if(StrPstCd.equals(PstCdSub)){
text.append("Price = " + twod[x][1] + " " + "Date of Sale: " + twod[x][2] + " " + "Postcode: " + twod[x][3] + "\n");
}// end if
}
}// end for
}
каковы ошибки из консоли? – DoubleDouble
Исключение в потоке "АВТ-EventQueue-0" java.lang.StringIndexOutOfBoundsException: индекс строки из диапазона: 3 \t в java.lang.String.substring (Unknown Source) \t в ExampleGUI.PostCodeSearch (ExampleGUI.java:117) \t в ExampleGUI.actionPerformed (ExampleGUI.java:76) \t в java.awt.Button.processActionEvent (Unknown Source) \t в java.awt.Button.processEvent (Unknown Source) \t в java.awt.Component .dispatchEventImpl (Неизвестный источник) \t at java.awt.Component.dispatchEvent (Неизвестный источник) \t at java.awt.EventQueue .dispatchEventImpl (Unknown Source) \t в java.awt.EventQueue.access $ 200 (Unknown Source) – user3067835
в java.awt.EventQueue $ 3.run (Unknown Source) \t в java.awt.EventQueue $ 3.run (Unknown Source) \t на java.security.AccessController.doPrivileged (Native Method) \t в java.security.ProtectionDomain $ 1.doIntersectionPrivilege (Unknown Source) \t в java.security.ProtectionDomain $ 1.doIntersectionPrivilege (Unknown Source) \t в java.awt .EventQueue $ 4.run (Неизвестный источник) \t at java.awt.EventQueue $ 4.run (Неизвестный источник) \t at java.security. AccessController.doPrivileged (Native Method) \t в java.security.ProtectionDomain $ 1.doIntersectionPrivilege (Unknown Source) – user3067835