Java me J2ME中的Asin、Acos、Atan

Java me J2ME中的Asin、Acos、Atan,java-me,Java Me,如何在J2ME应用程序中使用Math.asin()(…等) (我已经看过了(看起来它可以做到这一点),但它说我应该避免从字符串转换。我如何才能从双值创建新的实值?,这取决于目标CLDC API的版本 CLDC 1.0不支持任何浮点操作(不支持asin/acos/atan)。但也有一些第三方开发的软件包/API支持FP操作,例如 CLDC1.1支持FP操作,但仍然缺少asin/acos/atan。您可以自己实现它-这相对容易。尝试在谷歌上搜索并找到acos/atan/asin的其他java源代码

如何在J2ME应用程序中使用
Math.asin()
(…等)


(我已经看过了(看起来它可以做到这一点),但它说我应该避免从字符串转换。我如何才能从
双值
创建新的
实值

,这取决于目标CLDC API的版本

  • CLDC 1.0不支持任何浮点操作(不支持asin/acos/atan)。但也有一些第三方开发的软件包/API支持FP操作,例如
  • CLDC1.1支持FP操作,但仍然缺少asin/acos/atan。您可以自己实现它-这相对容易。尝试在谷歌上搜索并找到acos/atan/asin的其他java源代码

  • 自MIDP 2.0以来,这应该可以工作:

    public static double asin(double a)
    {
        // -1 < a < 1
        // The function isn't very precise
        final double epsilon=1.0E-7; // Use this to adjust precision
        double x=a;
        // Newton's iterative method
        do x-=(Math.sin(x)-a)/Math.cos(x);
        while (Math.abs(Math.sin(x)-a)>epsilon);
        return x;
        // returned angle is in radians
    }
    
    公共静态双asin(双a)
    {
    //-1epsilon);
    返回x;
    //返回角度以弧度为单位
    }
    
    但是,嘿,看起来很不错。你绝对应该使用它。
    如果只使用字符串指定一次或几次数字,则不会影响应用程序的速度