(Resposta) String

A alguns minutos atrás, um usuário postou uma pergunta e, enquanto eu respondia, acredito que tenha deletado sua conta. Não faça isso, amigo! As vezes a resposta demora, mas chega. Vou deixar aqui o que estava escrevendo, na esperança de que você possa ler e sanar suas dúvidas. :slight_smile:

A pergunta era sobre uma lógica usando If / Else, então fica ai a resposta sobre o código.


Opa Lucas! Tudo bem?

Legal cara, sua lógica tá certa. Vou te ajudar com a sintaxe, ok? Vamos por partes.

System.out.println("Você gosta de chocolate?"); // Aqui você está inserindo a pergunta no console
String chocolate = scan.nextLine(); // Aqui você está lendo a resposta.

Não esqueça de instanciar o Scanner! Existe algumas diferenças entre o next(); e o nextLine();, recomendo que você leia a respeito.

Agora, como podemos fazer quanto ao If? Bem, se a resposta for verdadeira, ele cairá numa condição, se não, em outra. Como checar se a condição é verdadeira? Existem algumas formas, mas acho que as duas mais fáceis são: criar uma varíavel do tipo Boolean que altera seu valor, ou então conferir o que o usuário digitou. Vou fazer a segunda pra você, pois como a primeira é mais fácil, deixo pra você descobrir!

if(chocolate.toUpperCase.charAt(0) == 'S'){
System.out.println("Mensagem");
}
else{
System.out.println("Mensagem");
}

MEU DEUS DO CÉU O QUE É if(chocolate.toUpperCase.charAt(0) == 'S') ???

Calma, jovem! Isso significa: se chocolate.emLetraMaiuscula.naPosição(0) for igual a 'S'), a condição será verdadeira!

Ou seja, imagine que a resposta foi “sim”. Ele vai analisar da seguinte forma:

posição do caractere: ㅤ ㅤㅤ ㅤ0 1 2
resposta: ㅤ ㅤㅤ ㅤㅤ ㅤ ㅤㅤ ㅤs i m

Então, se o caractere na posição 0 for igual a s (a diferença entre maiusculo e minusculo é resolvido com o toUpperCase, que transforma a resposta em maiusculo), o if será verdadeiro!

Uma coisa que você deverá tomar cuidado: O IF e o ELSE são acompanhados de { }, isso é chamado de “Bloco de Comando”. Quando voce faz if(condição){ }, significa que tudo que está dentro do bloco de comando do IF será executado se a condição for verdadeira. Logo, se você quer executar algo apenas se o if for verdadeiro, ele deverá estar dentro do bloco de comando do if.

Espero que possa ter esclarecido suas dúvidas! Recomendo que você dê uma olhada nos dois links que vou deixar para você estudar. :slight_smile:

Curso em Vídeo - curso 100% gratuito de Java com diploma!
Maratona de Java - Um dos maiores cursos de Java da Internet, 100% gratuito!

4 curtidas