Valor de pi

ola pessoal,

se eu declarar a variavel x a saida do programa eh de um jeito. Se eu declarar como double(a forma correta), a saida eh de outro jeito. Quando eu declaro como double ele deveria dar o resultado correto, que eh uma aproximacao para o valor de pi. Alguem sabe o que ha de errado com esse programa ? :roll:


public class Pi
{
	public static void main(String args[])
	{
	    int x=0,
		    j=3;
		
		for(int i=1; i<=10; i++)
		{
			x = x + 4/j;
			j += 2.0;
		}
	
		System.out.println(4-x);
	}
}

Não entendi direito o seu problema, mas o que pode estar acontecendo é:

se vc declarar a variavel como int, o Java automaticamente arredonda os resultados da divisão para um número inteiro

se vc declarar a variavel como double, dai o Java não faz isso, ele considera o valor quebrado da divisão…

por isso os resultados são diferentes…

A variáel j tem que ser double assim como x.
Se o resultado não for o esperado na se admire.
Se vc precisa usar o valor de PI , use Math.PI que é o valor binário mais aproximado ao valor real: Não tente calcular pi por outros meios, se vc precisa dele para alguma coisa.

Se a sua intenção é calcular PI tenha em mente que double pode não se suficiente e tvl tenha que usa BigDecimal