Jump to content

Recommended Posts

Posted

tentei fazer um programa para determinar a área de um circulo e tentei definir de imediato o valor para pi, só que quando coloco a declaração float pi = 3.14 ou pi=3,14 seja de uma ou de outra maneira o programa dá erro e só aceita float pi=3

podem-me explicar porquê que isto acontece?

deixo o meu programa em baixo:

float area;
float raio;
float pi= 3;

System.out.print("raio=");
Scanner sc = new Scanner (System.in);
raio = sc.nextInt();
if (raio<0)
 System.out.print("sem area");
else{
 area=pi*raio*2;
 System.out.print(area);
}
Posted (edited)

Boas

"The type float specifies a single-precision value that uses 32 bits of storage(...)"

"Double precision, as denoted by the double keyword, uses 64 bits to store a value(...)"

Ou seja, podes passar o pi para um double, ou então fazer cast para float, ou colocar a keyword F no final do número:

double pi = 3.14; (caso uses double tens que passar todas as outras variáveis para double, ou fazer o cast para float quando calculas a area)

float pi = (float) 3.14;

float pi = 3.14F;

No entanto para uma melhor precisão no numero PI tens a variável estática PI da classe Math que é um valor double que melhor se aproxima ao número PI.

double pi = Math.PI;

Cumprimentos, Ricardo Sousa

Edited by rikardo.1989
Posted (edited)

obrigado, não fazia ideia que em tinha-mos de colocar o F no numero quando declaramos uma variavel float

agora já deu 🙂

Edited by msmsms

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.