msmsms Posted July 14, 2012 at 06:27 PM Report #468668 Posted July 14, 2012 at 06:27 PM 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); }
rikardo.1989 Posted July 14, 2012 at 08:38 PM Report #468675 Posted July 14, 2012 at 08:38 PM (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 July 14, 2012 at 08:40 PM by rikardo.1989
Baderous Posted July 14, 2012 at 08:39 PM Report #468676 Posted July 14, 2012 at 08:39 PM Muda o tipo para double. Mas em todo o caso, já existe um valor para o PI definido na classe Math: http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html#PI
msmsms Posted July 14, 2012 at 09:48 PM Author Report #468680 Posted July 14, 2012 at 09:48 PM (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 July 14, 2012 at 09:50 PM by msmsms
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now