协助构建字符串

时间:2017-11-12 21:37:08

标签: java regex math

我正在使用二次公式制作方程式解析器,因此我使用扫描仪传递所有数据

接下来我想做的是:

  • 一开始只接受一次[+ - ]
  • 在第一点之后,只接受[0-9]
  • “结束”字符串(不能接受更多文字)

到目前为止,这是我的代码但不起作用(只接受数字而没有空格)

if (y.matches("[a-zA-Z]" ) || x.trim().length() == 0) {
            System.out.println("You only can add numbers, no spaces and no special characters");
            System.exit(1);
        }

之后我将它们转换为double(a,b,c,)和此

double x1 = (-b + Math.sqrt(Math.pow(b, 2) - (4 * a * c))) / (2 * a)

输出:NaN

任何帮助或提示? 谢谢

如果您需要完整代码我将更新帖子

更新
如果我删除“-b”它会给出一个数字结果,但我使用sout来打印b并且它给出一个数字,可能是“ - ”导致问题 固定的。

0 个答案:

没有答案