1
resposta

[Projeto] Exercício 1 - Variáveis e Tipos

import java.util.Scanner;

public class VariaveisETipos {
    public static void main (String[] args){
        
        String nome = "";
        int idade = 0;
        double altura = 0.0;
        boolean estudante = false;

        Scanner leitura = new Scanner(System.in);
        System.out.println("Insira o seu nome: ");
        nome = leitura.nextLine();

        System.out.println("Insira a sua idade: ");
        idade = leitura.nextInt();

        System.out.println("Insira a sua altura: ");
        altura = leitura.nextDouble();
        leitura.nextLine(); //pra limpar o enter do nextDouble

        System.out.println(""" 
                Você é estudante?
                Atenção! Responda apenas com 'sim' ou 'não'""");
        String resposta = leitura.nextLine();

        if (resposta.equalsIgnoreCase("sim")){
            estudante = true;
            }

        String ficha = "Nome: " + nome +
                "\nIdade: " + idade +
                "\nAltura: " + altura +
                "\nÉ estudante: " + estudante;

        System.out.println(ficha);
1 resposta

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!