Исключение индекса массива за пределами границ?
Предполагается, что этот код возвращает длину самой длинной строки в массиве. Я не знаю, как заставить его сделать это или исправить эту ошибку. Я не понимаю рабочих частей этого метода. Есть какие-нибудь предложения/помощь? Заранее спасибо.
public static double longest(String[] A) { int max = 0; for (int i=0; i<A.length; i++) { if (A[i].length() < A[i++].length()) { max = A[i].length(); } else max = A[i++].length(); } return max; } public static void main(String[] args) { String[] S2 = {"H", "Hi", "Hey", "Hey!"}; System.out.println(longest(S2)); } } Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at fixMyCode.longest(fixMyCode.java:8) at fixMyCode.main(fixMyCode.java:15)
Что я уже пробовал:
Я пробовал возиться с самим заявлением for, но я не знаю, что я делаю.
Maciej Los
Когда i
(счетчик) равен A.length-1
эта линия: A[i++].length()
вызывать ошибку.