Como calcular a circunferência?

3 respostas
P

Salve!

Preciso calcular os valores de uma circunferência:

1) Fórmula da circunferência -> (2 * pi * r); e
2) Fórmula da área -> (pi ao quadrado);

Vejam como eu codifiquei:

import java.util.Scanner;

public class Circunferencia {

	public static void main (String args[]) {

		Scanner input = new Scanner (System.in);

		int raio;

		float diametro;
		float circunferencia;
		float area;
		float pi;

		pi = 3.14159;

		System.out.print ("Digite o valor do raio: ");
		raio = input.nextInt();

		System.out.printf ("O diamentro e: %d\n", (2 * raio));
		System.out.printf ("A circunferencia e: %d\n", (2 * pi * raio));
		System.out.printf ("A area e: %d\n", (pi * pi));
                
                 // E assim por diante...

Entretanto, recebi do compilador um erro: … possible loss of precision
found : double required: float pi = 3.14159…

O que há de errado com este código?

3 Respostas

W

todo valor literal ponto flutuante por padrão eh um double, quando vc atribui um double a um float, o compilador acusa perda de precisao…
pra corrigir esse problema vc pode fazer a atribuicao assim

pi = 3.14159F;

ou

pi = 3.14159f;

maiusculo ou minusculo, tanto faz, ou entao vc pode fazer um cast:

pi = (float)3.14159;

assim vc fala pro compilador q vc tem consciencia do que vc tah fazendo.

falow cara

S

Oi.

Tenta definir PI como double, já que float não sustentara o tamanho de Pi.
Outra saída seria definir PI=3.14.

C

Na verdade, já existe uma constante com o valor de pi na API:

(2 * Math.PI * raio)

Até mais,

Criado 20 de maio de 2006
Ultima resposta 20 de mai. de 2006
Respostas 3
Participantes 4