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

Java 我写了这段代码,但它说构造函数Double(String)从版本9开始就被弃用了,java,deprecated,Java,Deprecated,我写了这段代码,但它说构造函数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(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);
    

}
}

下面是错误图像:

看看

不赞成。使用此构造函数很少是合适的使用
parseDouble(String)
将字符串转换为
double
原语,或使用
valueOf(String)
将字符串转换为
double
对象。


来自双构造函数的Java 9文档:

使用此构造函数很少是合适的。使用 parseDouble(字符串)将字符串转换为双精度原语,或使用 valueOf(String)将字符串转换为双精度对象

因此,使用而不是构造函数

比如:

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!");
    }
  }
}

Double.parseDouble(String)
你为什么不看一下文档?在这里发布文本而不是图像,只要可行。如何,你就可以显示粘贴到我发布的代码中的解决方案副本?请如何指定3个Double我不明白,我是编程新手请帮助??你的代码假设为3个Double。您正在尝试分析三个命令行参数。这就是为什么我添加了检查以确保至少有3个。但是,这取决于你想怎么做。如何增加超过3倍,这超出了你原来问题的范围。您可能需要阅读Oracle的文档以及通过控制台。