void quadratic() {
if((b*b-4*a*c) < 0){
System.out.println("The answer is imaginary.");
}
else {
System.out.println("The two root's x values of the quadratic function " + a +"x^2 + " + b + "x + " + c + " are "
+ (-b + Math.sqrt(b*b+4*a*c)/2a));
}
}
我收到错误
')'预计',';'预计
在最后一行代码中,即使它们已被包含在内。我该如何防止这种情况?任何帮助将不胜感激。
答案 0 :(得分:5)
您缺少2和
之间的运算符Math.sqrt(b*b+4*a*c)/2a
应该是这样的:
Math.sqrt(b*b+4*a*c)/(2*a)
答案 1 :(得分:1)
将2a
更改为(2*a)
:
Math.sqrt(b*b+4*a*c)/(2*a)
您还可以将判别式的计算分解出来,以避免必须两次执行:
double discriminant = (b*b-4*a*c);
if(discriminant < 0){
System.out.println("The answer is imaginary.");
}
else {
System.out.println("The two root's x values of the quadratic function " + a +"x^2 + " + b + "x + " + c + " are "
+ (-b + Math.sqrt(discriminant)/(2*a)));
}
答案 2 :(得分:1)
你不能写
/2a
这使解析器感到困惑。我期望你想要的是
/(2 * a)