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