我写了这段代码,但它说构造函数double(string)从版本9开始就被弃用了

lymgl2op  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(393)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

22天前关门了。
改进这个问题
我写了这段代码,但是它说构造函数double(string)从版本9开始就被弃用了,有人能告诉我用什么替换它吗,或者只是复制粘贴代码然后发布它,下面是代码:

public class Quadratic {

public static void main(String[] args) {
    double a = new Double(args[0]).doubleValue();
    double b = new Double (args[1]).doubleValue();
    double c = new Double (args[2]).doubleValue();

    double x1 =(-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
    double x2 =(-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
    System.out.println("x =" + x1 + "ose x= " + x2);

}

}
这是错误图像:图像1

iibxawm4

iibxawm41#

从java 9双构造函数文档中:
使用此构造函数很少合适。使用parsedouble(string)将字符串转换为double原语,或使用valueof(string)将字符串转换为double对象。
因此,使用double.parsedouble(字符串)而不是构造函数。
比如:

public class Quadratic {
  public static void main(String[] args) {
    if (args.length >= 3) {
        double a = Double.parseDouble(args[0]);
        double b = Double.parseDouble(args[1]);
        double c = Double.parseDouble(args[2]);

        double x1 =(-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
        double x2 =(-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
        System.out.println("x =" + x1 + "ose x= " + x2);
    } else {
        System.out.println("Need to specify 3 doubles!");
    }
  }
}
g2ieeal7

g2ieeal72#

看看你的文件!
已弃用。使用此构造函数很少合适。使用 parseDouble(String) 将字符串转换为 double 原始,或使用 valueOf(String) 将字符串转换为 Double 对象。

相关问题