这个二次方程不会在我确定它返回的字符串中返回负数。这是等式:
public class QuadraticEquation {
String final0;
public String calculate(int a, int b, int c) {
double done1 = ((-1 * b) + Math.sqrt((b * b) - (4 * a * c))) / (2 * a);
double done2 = ((-1 * b) - Math.sqrt((b * b) - (4 * a * c))) / (2 * a);
final0 = "x = " + (done1) + " or x = " + (done2);
return final0;
}
}
想象一个具有 a、b 和 c 值的方程,例如 -3、13 和 -4。它的返回值将是 -0.3(重复)和 -4。但是这个等式只返回正数,所以在这种情况下它会返回 0.3(重复)和 4。为什么会这样,我能做些什么来解决它?
注意:我相信这是一个 Java 错误,而不是数学错误。如果是数学错误,请在评论中告诉我,我会及时将其放在适当的论坛中。谢谢。