Olá, Isabelle. Como vai?
Parabéns pela resolução do exercício! O seu código está muito bem estruturado e você demonstrou domínio sobre um dos conceitos que mais confunde quem está começando no Java: o consumo do buffer do Scanner.
Pontos de Destaque no seu Código:
- Limpeza do Buffer: O uso do
leitura.nextLine() logo após o leitura.nextDouble() foi uma sacada técnica excelente. Sem isso, o "Enter" ficaria pendente e o programa pularia a pergunta sobre ser estudante. É o famoso "fantasma no teclado" que muitos iniciantes demoram a entender! - Text Blocks (
"""): Você utilizou o recurso de Text Blocks, que é uma forma moderna e elegante de escrever strings de múltiplas linhas no Java. Isso deixa o console muito mais organizado para o usuário. - Tratamento de String: O uso do
equalsIgnoreCase("sim") torna seu programa mais robusto, pois ele aceita "Sim", "SIM" ou "sim", tratando o dado de forma flexível.
Uma Dica de Evolução (Boas Práticas):
Em Java, quando trabalhamos com concatenação de muitas strings (como na sua variável ficha), o uso do operador + pode ser um pouco ineficiente em termos de memória para sistemas muito grandes. Para casos simples como este não há problema, mas para o futuro, vale a pena conhecer o StringBuilder ou o método String.format().
Veja como ficaria com String.format():
String ficha = String.format("""
Nome: %s
Idade: %d
Altura: %.2f
É estudante: %b
""", nome, idade, altura, estudante);
Para refletir:
Você já percebeu que o Java é uma linguagem fortemente tipada? Isso significa que, ao declarar int idade, você garante que nenhum texto entrará ali por acidente. Se o usuário digitar "vinte" no lugar de 20, o Java lançará uma exceção de InputMismatch.
No seu aprendizado até agora, qual tipo de dado você achou mais curioso ou difícil de manipular?
Espero que possa ter lhe ajudado!