Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução

/**
 * Laura está desenvolvendo um sistema de busca e precisa verificar se uma palavra específica
 * está presente em um texto. Crie um programa que receba um texto e uma palavra, e exiba uma
 * mensagem indicando se a palavra está presente no texto.
 *
 * Exemplo de entrada:
 * Digite o texto: O gato caça o rato.
 * Digite a palavra: gato
 *
 * Saída esperada:
 * A palavra "gato" está presente no texto.
 */

package com.github.lucasdevrj.exercicios.verificandoseumastringcontemsubstring;

import java.util.Scanner;

public class VerificaPalavra {

    private String texto;
    private String palavra;

    private String getTexto() {
        return texto;
    }

    private void setTexto(String texto) {
        this.texto = texto;
    }

    private String getPalavra() {
        return palavra;
    }

    private void setPalavra(String palavra) {
        this.palavra = palavra;
    }

    public void verificar() {
        Scanner entrada = new Scanner(System.in);

        System.out.print("Digite o texto: ");
        setTexto(entrada.nextLine());

        System.out.print("Digite a palavra: ");
        setPalavra(entrada.nextLine());

        String textoTemPalavra = getTexto().contains(getPalavra()) ?
                String.format("A palavra %s está presente no texto.", getPalavra()) :
                String.format("A palavra %s não está presente no texto.", getPalavra());

        System.out.println(textoTemPalavra);

    }
}
package com.github.lucasdevrj.exercicios.verificandoseumastringcontemsubstring;

public class Principal {
    public static void main(String[] args) {
        VerificaPalavra verificaPalavra = new VerificaPalavra();
        verificaPalavra.verificar();
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Beleza?

1 resposta

Oi, Lucas. Tudo bem com você?

O uso de contains() é justamente o recurso para verificar se a palavra informada está presente dentro do texto. Outro detalhe legal para testar é a diferença entre maiúsculas e minúsculas. Por exemplo, se o texto for O gato caça o rato. e a palavra digitada for Gato, o contains() retornará false, porque a comparação diferencia G de g. Essa é uma característica importante para observar quando trabalhamos com Strings em Java.

Como você adaptaria essa solução caso a busca precisasse ignorar diferenças entre letras maiúsculas e minúsculas?

Parabéns pela resolução, Lucas. Continue compartilhando seus exercícios por aqui, porque isso também ajuda a perceber detalhes importantes durante a prática. O fórum fica à disposição para continuar acompanhando seus estudos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!