С учетом строки напечатайте количество алфавитов, присутствующих в строке. Вход: Первая строка ввода содержит целое число T, обозначающее количество тестовых случаев. Ниже приводится описание Т-тестов. Каждый тестовый пример содержит одну строку. Выход: Распечатайте количество алфавитов, присутствующих в строке.Что здесь означает ArrayIndexoutofBoundsException?
Это вопрос, который я пытался решить этот вопрос на eclipse, но он продолжает бросать ArrayIndexoutOfBoundsException в строке 7 моего кода. Я попытался понять, что я сделал неправильно, но я не смог. Может кто-нибудь объяснить, что здесь не так. Я прикрепил код.
public class solution {
public static void main(String[] args){
String s = "baibiasbfi" ;
int count =0;
for(int i=0;i<=s.length();i++){
char[] a= s.toCharArray();
if(a[i]>='a'&& a[i]<='z'||a[i]>='A'&&a[i]<='Z')
count++;}
System.out.println(count);
}
}
, чтобы избежать этого использовать исключение I
Vaseph
основном то, что ArrayIndexOutOfBoundsException означает, что вы пытаетесь получить доступ к позиции вашего массива 'a', что это за доступ. В этом случае ваша строка 'baibiasbfi' имеет 10 символов, что означает, что вы можете получить к ней доступ с позиции 0 до 9. Когда вы выполняете' i <= s.length() 'и с' s. length' равно размеру массива, который равен 10, вы пытаетесь получить доступ к позиции 10 массива, который недоступен. Чтобы решить эту проблему, удалите '=' из вашего условия 'i <= s.length()', и проблема будет решена. – aribeiro
спасибо .. это помог – jenygeorge