首页 > 解决方案 > 如何正确输出 arcsin,并解决这个数学任务?

问题描述

我正在为 Java 类做我的硬件,我不明白我如何能够正确输出这个任务并解决它。用户必须输入 X 值。

    package lab1;
    import java.util.Scanner;




    public class Lab1 {   

        public static void main (String [ ] args) {
           System.out.println("Input x: ");
           Scanner scan = new Scanner(System.in);
           double x = scan.nextInt();
           double c = Math.pow(x, 2);
           // x в квадрате
           double a = Math.pow((3+x),6);
           //3+х в степени 6
           double b = Math.pow(Math.E,0);
           //експонента
           double v = Math.log(x);
           double n = Math.asin(c);

           double K = Math.sqrt((a - v) / b + n));

           System.out.println("Your answer - " + K);
        }

   }

在此处输入图像描述

https://imgur.com/a/S4iSpO2

当用户输入 x 值时,我需要 prog 来解决此任务

PS我知道这是一个非常愚蠢的问题和简单的任务,但我刚刚开始使用开发,所以我希望你能理解)

标签: javamath

解决方案


如果我对您的理解正确,您希望逐步合并公式的各个术语。像下面这样的东西应该可以工作。但请注意,反正弦定义在 [-π/2, π/2] 范围内。由于您甚至在那里有因子 6,因此您的程序仅返回 [-0.4,0.4] 之间的 x 值的有用值

在此处输入图像描述

代码

public class Lab1 {
    public static void main(String[] args) {
        System.out.println("Input x: ");
        Scanner scan = new Scanner(System.in);
        double x = scan.nextDouble();

        // (3+x)^6
        double a = Math.pow(3+x, 6);        
        // lnx
        double b = Math.log(x);
        // √(3+x)^6 - lnx
        double c = Math.sqrt(a-b);
        //e^0    [something^0 is always = 1, so you could also set it just to 1]
        double e = Math.pow(Math.E, 0);    //double e = 1;
        //arcsin6x^2
        double f = Math.asin(6 * Math.pow(x, 2));

        double k = c / (e+f);        

        System.out.println("Your answer: " + k);
    }
}

推荐阅读