二次规划 - 特定输出
Quadratic programming - specific output
我希望 Quadratic 程序只打印必要的输出。
这是代码:
public static void main(String[] args) {
double a = Double.parseDouble(args[0]);
double b = Double.parseDouble(args[1]);
double c = Double.parseDouble(args[2]);
double temp, first, second;
temp = (b*b - (4 * a * c));
first = ((-1 * b) + Math.sqrt(temp)) / (2 * a);
second = ((-1 * b) - Math.sqrt(temp)) / (2 * a);
if (temp > 0)
System.out.println (first);
if (temp == 0)
if (first == second)
System.out.println (first);
else
System.out.println (first);
System.out.println (second);
if (temp < 0)
System.out.println ("There are no solutions.");
}
当我写作时:java二次方 1 0 1
它带回:“NaN
没有解决办法。”
NaN 是什么?
当我写的时候:java二次方 1 -2 1
它打印两次:
“1.0
1.0"。我如何变成一个? 因为我已经写了这个 if 命令:
如果(第一==第二)。
非常感谢!!!
NaN 问题已得到解答 here,并在该问题的评论和答案的各个链接中得到解答。
多个输出可能是因为最后一个else
。即使您缩进了代码,看起来两个 println
只在 temp == 0
和 first != second
时才执行,但它们不会,只有第一个 println
在 else
中,每次都会执行第二个。而是使用:
else {
System.out.println(first);
System.out.println(second);
}
temp = (b*b - (4 * a * c));
当 b = 0 时,这变成:
temp = -(4 * a * c);
当 a 和 c 为正时,temp 为负,并且不能对负数求平方根。
我希望 Quadratic 程序只打印必要的输出。 这是代码:
public static void main(String[] args) {
double a = Double.parseDouble(args[0]);
double b = Double.parseDouble(args[1]);
double c = Double.parseDouble(args[2]);
double temp, first, second;
temp = (b*b - (4 * a * c));
first = ((-1 * b) + Math.sqrt(temp)) / (2 * a);
second = ((-1 * b) - Math.sqrt(temp)) / (2 * a);
if (temp > 0)
System.out.println (first);
if (temp == 0)
if (first == second)
System.out.println (first);
else
System.out.println (first);
System.out.println (second);
if (temp < 0)
System.out.println ("There are no solutions.");
}
当我写作时:java二次方 1 0 1 它带回:“NaN 没有解决办法。” NaN 是什么?
当我写的时候:java二次方 1 -2 1 它打印两次: “1.0 1.0"。我如何变成一个? 因为我已经写了这个 if 命令: 如果(第一==第二)。
非常感谢!!!
NaN 问题已得到解答 here,并在该问题的评论和答案的各个链接中得到解答。
多个输出可能是因为最后一个else
。即使您缩进了代码,看起来两个 println
只在 temp == 0
和 first != second
时才执行,但它们不会,只有第一个 println
在 else
中,每次都会执行第二个。而是使用:
else {
System.out.println(first);
System.out.println(second);
}
temp = (b*b - (4 * a * c));
当 b = 0 时,这变成:
temp = -(4 * a * c);
当 a 和 c 为正时,temp 为负,并且不能对负数求平方根。