gpt4 book ai didi

java - 尝试获取函数作为用户输入但不起作用,不接受字符串到 Double

转载 作者:行者123 更新时间:2023-12-02 04:07:15 24 4
gpt4 key购买 nike

我需要帮助来获取用户的输入,这是一个像 2*x 或 2/x 等这样的函数...我最初尝试通过从用户那里获取一个字符串值,然后将其转换为 double 值,但 Java 没有这样做由于某种原因不喜欢这个。我检查了错误中的第 56 行,这是我将 String 转换为 double 的时候。

System.out.println("What is the formula?");
formula = keyboard.nextLine();

double newFormula = Double.valueOf(formula);

Exception in thread "main" java.lang.NumberFormatException: For input string: "2*x"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at java.lang.Double.valueOf(Double.java:502)
at newpackage.CurveArea.main(CurveArea.java:56)

最佳答案

您似乎试图将字符串转换为 double 型,但它不是 double 型,因为它包含非数字字符。要从输入字符串中获取 2,您可以尝试这样的操作。

    String formula = "2/x";
double newFormula = 0d;
for (String mathSign : new String[] { "/", "*" }) {
if (formula.contains(mathSign)) {
newFormula = Double.valueOf(formula.substring(0, formula.indexOf(mathSign)));
}
}
System.out.println(newFormula);

在if语句中还可以检测mathSign。

关于java - 尝试获取函数作为用户输入但不起作用,不接受字符串到 Double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com