Estoy un poco ocioso y me llamó la atención tu programa porque yo lo hice en C hace mucho tiempo... es la manera más lenta que existe de calcular PI, pero interesante. Me tomé la libertad de modificar tu código original para que simplemente se ponga a calcular, sin necesidad de darle OK en cada término. Así puedes ver cómo aumenta la precisión, la cual no siempre es en el orden de los decimales.
Como puedes ver, los cálculos se hacen en un Thread separado, para que el texto se vaya actualizando y puedas interactuar con la ventana. También simplifiqué algunas variables (como contador2 que realmente puede ser un simple boolean).
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
}
}//Estoy empezando el tema de la programación en java y me llamo la atención este foro ya que precisamente estoy aprendiendo de la septima edición del libro JAVA Como programar de Deitel y en uno de los ejercicios estaba precisamente este... aquí le dejo el código que implemente para resolverlo
Otra version
Estoy un poco ocioso y me llamó la atención tu programa porque yo lo hice en C hace mucho tiempo... es la manera más lenta que existe de calcular PI, pero interesante. Me tomé la libertad de modificar tu código original para que simplemente se ponga a calcular, sin necesidad de darle OK en cada término. Así puedes ver cómo aumenta la precisión, la cual no siempre es en el orden de los decimales.
Como puedes ver, los cálculos se hacen en un Thread separado, para que el texto se vaya actualizando y puedas interactuar con la ventana. También simplifiqué algunas variables (como contador2 que realmente puede ser un simple boolean).
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
gracias
te agradezco el comentario apenas me estoy iniciando en java, y todos los comentarios son bienvenidos te lo agradezco saludos
otra forma
public static void main(String args[])
{
double termino1;
double termino2;
double suma = 4;
int suma1 = 1;
int i = 3;
int j = 5;
System.out.println("\tTérmino\tValor\n");
System.out.printf("\t1\t%f\n",suma);
System.out.println();
for(int k = 1; k <= 100; k++)
{
termino1 = (double) 4/i;
termino2 = (double) 4/j;
if(termino2 < termino1)
{
suma = suma - termino1;
System.out.println("\t"+(suma1+=1)+"\t"+suma+"\n");
i+=4;
if(suma > termino1)
{
suma = suma + termino2;
System.out.println("\t"+(suma1+=1)+"\t"+suma+"\n");
j+=4;
}
}
}
}//Estoy empezando el tema de la programación en java y me llamo la atención este foro ya que precisamente estoy aprendiendo de la septima edición del libro JAVA Como programar de Deitel y en uno de los ejercicios estaba precisamente este... aquí le dejo el código que implemente para resolverlo
El código se ve mejor si lo
El código se ve mejor si lo encierras entre las etiquetas <code> y </code>