Impressão dos caracteres com índices pares

Olá estou começando na programação em Java, e uma das minhas atividades é ler uma String do teclado e a partir dela imprimir os caracteres com índices pares.

eu entendo que para pegar os índices pares vou ter usar o % 2 e se igual 0, eles são pares, mas não sei como pegar especificamente os índices para imprimir as letras, teria que usar o indexOf ?

Ex de entrada e saída esperados:

Entrada: Eu amo Java
Saída: E m aa

Não precisa de indexOf, pois este método é para quando você tem um caractere e quer saber a posição dele. Mas no seu caso, você precisa iterar pela string, então use um loop simples, e use o método charAt para pegar o caractere de cada índice:

Scanner scan = new Scanner(System.in);
System.out.println("Digite a string");
String s = scan.nextLine();
for (int i = 0; i < s.length(); i++) {
    if (i % 2 == 0) {
        System.out.print(s.charAt(i));
    }
}

Se bem que, para iterar somente pelos índices pares, basta fazer o for de 2 em 2:

String s = // ler a string
for (int i = 0; i < s.length(); i += 2) {
    System.out.print(s.charAt(i));
}

Ao fazer i += 2, o índice pula de 2 em 2 (e como eu começo do zero, acabo iterando somente pelos índices pares). Assim eu nem preciso ficar testando i % 2 == 0 (a menos que seja um exercício que “exijam” que se use o operador %, senão eu faria assim mesmo).

1 curtida