Java 计算正弦函数近似值代码详解

这段代码使用 Java 语言实现了一个计算正弦函数近似值的程序,通过泰勒级数展开式逐项计算并输出结果。

package project2;
import java.util.Scanner;

public class solvesin {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		
        double x = input.nextDouble();
        
        double e = input.nextDouble();
        double sinx = x;
        double term = x;
        int n = 1;
        do {
            term *= -x * x / (2 * n) / (2 * n + 1);
            sinx += term;
            n++;
        } while (Math.abs(term) >= e);
        System.out.print(n+" ");
        System.out.print(String.format(".9f",sinx));


	}

}

代码解析

  1. package project2;:将这个类放在名为'project2'的包中。

  2. import java.util.Scanner;:导入 java.util 包中的 Scanner 类,用于从控制台读取输入。

  3. public class solvesin {:定义名为 solvesin 的公共类。

  4. public static void main(String[] args) {:程序的入口点,开始执行程序。

  5. Scanner input = new Scanner(System.in);:创建一个 Scanner 对象,用于从控制台读取输入。

  6. double x = input.nextDouble();:从控制台读取一个双精度浮点数,并将其赋值给变量 x。

  7. double e = input.nextDouble();:从控制台读取另一个双精度浮点数,并将其赋值给变量 e。

  8. double sinx = x;:将变量 x 的值赋给变量 sinx,用于存储计算出的 sinx 的近似值。

  9. double term = x;:将变量 x 的值赋给变量 term,用于存储计算中的每一项。

  10. int n = 1;:将整数值 1 赋给变量 n,用于记录计算中的项数。

  11. do {:开始一个 do-while 循环,用于执行计算正弦函数近似值的计算过程。

  12. term *= -x * x / (2 * n) / (2 * n + 1);:计算并更新 term 的值,每次乘以一个系数,用于计算下一项。

  13. sinx += term;:将计算出的 term 的值加到 sinx 上,用于计算 sinx 的近似值。

  14. n++;:将 n 的值加 1,用于记录下一项的计算。

  15. } while (Math.abs(term) >= e);:判断条件,如果 term 的绝对值大于等于 e,则继续执行循环。

  16. System.out.print(n+" ");:输出计算出的近似值的项数 n。

  17. System.out.print(String.format(".9f",sinx));:输出计算出的近似值 sinx,保留 9 位小数。

代码功能

这段代码通过逐项计算正弦函数的泰勒级数展开式来近似计算给定角度 x 的正弦值,并输出计算结果。用户需要在控制台上输入角度 x 和误差 e,然后程序会根据输入的值进行计算。

代码示例

假设用户输入的角度 x 为 1.57,误差 e 为 0.001,程序会输出如下结果:

6 0.999573603

这表示程序计算了 6 项泰勒级数展开式,最终得到了 0.999573603 的近似值。

Java 计算正弦函数近似值代码详解

原文地址: https://www.cveoy.top/t/topic/bOmS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录