Tópico resolvido, mas só pra deixar claro:
[quote=Vynko]Não, quando usamos (tipo) o java adapta à o tipo falado, mas em alguns casos não funciona…
Um exemplo de uso:
double janeiro=10,99;
double fevereiro=20,99;
int total=(int)janeiro+fevereiro/2
Isso torna o valor de janeiro+fevereiro/2 uma valor inteiro.
OBS: Quanto o parseInt, nunca utilizei, então não sei dizer se esse é o código mesmo, teste ai! :)[/quote]
Nesse caso você forçou o valor para total ser inteiro, e o Java não converte valores pra você ou seja, um número inteiro divido por outro inteiro retorna um inteiro.
Seu exemplo causou um erro de lógica, pois se você quiser um valor do tipo double, deveria declarar o total como tipo double:
double janeiro = 10.99; // além do mais o valor que estava antes aqui nem compilaria (10,99)
double fevereiro = 20.99; // a mesma coisa aqui (20,99)
double total = (janeiro + fevereiro) / 2; // aqui () são importantes
Atente-se também ao () que adicionei no seu cálculo, do jeito que estava o resultado seria a divisão de fevereiro por 2, depois a soma desse resultado por janeiro e o resultado final seria 21.485 e não 15.99 como esperado.
Já quanto ao parseInt(), é um método que converte String’s com representações numéricas apenas, ex “123”, agora qualquer caractere diferente de um número como um simples espaço gera erro: ex “12 3”.
Foi o que aconteceu com o junio103 e provavelmente achou que o parseInt() retirava qualquer caractere deixando apenas os números, mas isso ele não faz.