Francesco Mantovani:
Eu sou novo para Java e estou aprendendo os primeiros passos.
Fazendo minha lição de casa eu tenho um problema imprimindo um total com um ponto flutuante:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Francesco");
int myFirstNumber = (10 + 5) + (2 * 10);
int mySecondNumber = 12;
int myThirdNumber = myFirstNumber * 2;
int myTotal = myFirstNumber + mySecondNumber + myThirdNumber;
float myLastOne = myTotal/10;
System.out.println(myTotal);
System.out.println(myLastOne);
}
}
O Java imprime é 11.0
:
Hello, Francesco
117
11.0
Mas em vez disso, deve imprimir 11.7
:
Hello, Francesco
117
11.7
Eu sei que o residem problema em números de linha 8, onde eu estou usando float
, eu até tentei usar double
mas eu tenho o mesmo resultado
azro:
Isso é por causa de int-division
como 10
é um int
. Você precisa adicionar o sufixo f fo especificar que é um float
float myLastOne = myTotal / 10f;
System.out.println(myLastOne); // 11.7
Isso poderia funcionar também com double
double myLastOne = myTotal / 10.0;
System.out.println(myLastOne); // 11.7