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

[Projeto] Exercício 2

public class Conversao {
    public static void main(String[] args) {
        double valorDouble = 21.7;
        valorDouble = (int)valorDouble;

        System.out.println("O valor inteiro do produto é: "+ valorDouble);
    }
}
1 resposta

Oi, Rick, como vai?

A sua intenção ao aplicar o operador de conversão explícita foi muito boa, mas ocorreu um detalhe conceitual importante no armazenamento do resultado. No seu código, você tentou salvar o valor convertido de volta na mesma variável que foi declarada originalmente como double. Como as variáveis em Java possuem tipagem estática e rígida, a atribuição não transforma o tipo da variável em si, o que faz com que o valor final seja impresso novamente com casas decimais, exibindo o resultado como 21.0 no console em vez do número inteiro isolado.

Para conseguir o comportamento esperado pelo sistema de estoque, é necessário direcionar o resultado da conversão para uma nova variável do tipo int. Quando você realiza a operação de casting, o compilador descarta a parte decimal, mas o valor resultante precisa de um espaço adequado para ser armazenado de acordo com as regras da linguagem.

Por exemplo, podemos criar uma nova variável para receber esse dado transformado:

int valorInteiro = (int) valorDouble;
System.out.println("O valor inteiro do produto é: " + valorInteiro);

Dessa forma, o compilador entende que o dado final pertence ao conjunto dos inteiros e o exibe sem o ponto flutuante.

Sabendo que essa técnica de casting explícito apenas ignora a parte decimal sem realizar um arredondamento matemático, como você acha que o comportamento do sistema de estoque seria afetado caso o valor original representasse uma média ou aproximação que precisasse ser arredondada para o inteiro mais próximo?

Parabéns pela dedicação ao realizar o exercício e muito obrigado por compartilhar o seu código aqui no fórum. Continue postando suas resoluções para fortalecer o aprendizado prático e lembre-se de que o fórum está totalmente à disposição para ajudar em todas as etapas dos seus estudos.

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