Este artículo describe el cálculo simple de PI en Java. Compártelo para su referencia, como sigue:
Vi una pregunta en Internet estos dos días. Se sabe que PI se puede calcular usando la función 4 * (1 1/3 + 1/5 1/7 + ...) para calcular los cinco lugares decimales (calcule el PI). Así que escribí una pequeña demostración manualmente, y todos pueden dejar un mensaje, comunicarme y dar consejos.
El código de ejemplo completo es el siguiente:
Paquete de matemáticas; public class Pitest {private static int byteliMit = 5; // limita el número de dígitos después de decimal/** * @author zhao333699 */public static void main (string [] args) {// todo auto-generated stub // se sabe que Pi puede calcularse usando la función 4 * (1 1/3 + 1/5 1//7 Generated Stub // se sabe que Pi puede calcularse usando la función 4 * (1 1/3 + 1/5 1//7 Generated Stub // se sabe que Pi se puede calcular usando la función 4 * (1 1/3 + 1/5 1/1//7 Generado. decimal ---- Calcule Pi // Idea: Calcule el valor de 5 bits de acuerdo con la fórmula anterior, compare con el siguiente valor de 5 bits, si es lo mismo, es el resultado final, // Si es diferente, guarde el nuevo valor y continúe comparándolo con el siguiente valor hasta que el mismo doble pitemp = 0; // el valor obtenido por la fórmula es doble final = 0; // Último valor obtenido (cinco decimales de lugares) doble pi = 0; // Este valor obtenido (cinco decimales) int i = 0; // contador doble b = 0; // El valor en los soportes de la fórmula es int ii = 20; // El número de veces el mismo valor puede limitarse al mismo valor obtenido obtenido intentii = 20; // el mismo que el valor de II se usa a la réore del valor de II. iii = 20; // limita el mismo número de veces mientras (verdadero) {// número de veces control if (i == 1000000) {break; } doble rs = 1 + 2 * i; doble d = 1 / rs; if (i % 2 == 0 && i! = 1) {b = b + d; // System.out.println ("---"+i+"---------- ***"+B); } else {b = b - d; // System.out.println ("---"+i+"----------- ***"+B); } i = i + 1; // System.out.println (b); pitemp = (b) * 4; // System.out.println (pitemp); // El número de dígitos después del punto decimal es mayor o igual a 5 dígitos if (string.ValueOf (pitemp) .length ()> bytelimit) {pi = subint (pitemp); // interceptación el valor de 5 dígitos después del sistema decimal.out.println (i + "tiempo --- Pi-###" + Pi + "--final-##. finalpi); // Si el último resultado es el mismo que este resultado, limite el número de tiempos consecutivos -1; // Si no es lo mismo, independientemente de cuántas veces consecutivas el resultado anterior es el mismo, limite el número de veces consecutivas para restaurar el valor inicial, y guardar el nuevo valor de este tiempo, y continúe preparándose para la comparación con la próxima vez si (finalPi == pi) {System.out.println ("Th" + (finali + 1 - ii) + + + "Tiempo ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {System.out.Println (" $ final decimal "; System.out.println ("$ final decimal" + pi); = String.ValueOf (i) .substring (bytelimit + 2, bytelimit + 3); // Obtenga el sexto punto decimal doble dd = double.parsedOuble (s); // Conviertar a un punto decimal para retener los 5 decimales // si el valor del sexto dígito es mayor que o igual a 5, según el ronda, el ronda converjado a 0.0000. (ss.compareto ("5")> = 0) {dd = dd + 0.00001;Resultados de ejecución:
PD: Aquí hay algunas herramientas de cálculo para que se consulte:
Herramienta de cálculo de la solución de la función unary (ecualización):
http://tools.vevb.com/jisuanqi/equ_jisuanqi
Calculadora científica en línea use_advanced calculadora en línea:
http://tools.vevb.com/jisuanqi/jsqkeexue
Calculadora en línea_standard Calculadora:
http://tools.vevb.com/jisuanqi/jsq
Para obtener más información sobre los algoritmos de Java, los lectores interesados en este sitio pueden ver los temas: "Estructura de datos Java y tutorial de algoritmo", "Resumen de las puntas de nodo de operación de Java DOM", "Resumen de Java Archivo y TIPS de operación de directorio" y "Summary of Java Cache Operation Tips" TIPS ""
Espero que este artículo sea útil para la programación Java de todos.