Как проверить есть ли в конкретном индексе строки символ? JAVA

public class Output {
public static void output(int N, String I){
    for(int i = 0; i == I.length(); i++){
        if(I[i].equals("")){

        }
    }
}}

нужно проверить является ли символ I пробелом


Ответы (2 шт):

Автор решения: Алексей Шиманский
if (Character.isWhitespace(I.charAt(i))) 
    System.out.println("yes"); 
else
    System.out.println("no"); 

Вместо isWhitespace можно использовать isSpaceChar если нужно знать что это именно пробел, а не табуляция или перевод строки

→ Ссылка
Автор решения: Nowhere Man

У вас цикл не выполнится ни разу, так как он должен работать, пока i равно длине строки, начиная от 0: для непустой строки это условие не выполнится никогда, а для пустой строки попытка прочитать символ по индексу 0 при помощи метода String::charAt приведёт к StringIndexOutOfBoundsException или при чтении из пустого массива символов I.toCharArray()[i] будет выброшено ArrayIndexOutOfBoundsException.

public static void output(int N, String I) {
    for (int i = 0, n = I.length(); i < n; i++) {
        if (' ' == I.charAt(i)) {
            // найден пробел по индексу i
        }
    }
}

или так:

public static void output(int N, String I) {
    int i = -1;
    for (сhar c : I.toCharArray()) {
        i++;
        if (' ' == c) {
            // найден пробел по индексу i
        }
    }
}
→ Ссылка