我收到数组绑定错误,但在我看来,数组从 0 开始,那么这段代码有什么问题呢?
public class Quadratic {
public static void main(String[] args) {
double b = Double.parseDouble(args[0]);
double c = Double.parseDouble(args[1]);
double discriminant = b*b - 4.0*c;
double sqroot = Math.sqrt(discriminant);
double root1 = (-b + sqroot)/ 2.0;
double root2 = (-b - sqroot)/ 2.0;
System.out.println(root1);
System.out.println(root2);
}
}
保护自己:采取防御措施。
public class Quadratic {
public static void main(String[] args) {
if (args.length> 1) {
double b = ((args.length > 0) ? Double.parseDouble(args[0]) : 0.0);
double c = ((args.length > 1) ? Double.parseDouble(args[1]) : 0.0);
double discriminant = b*b - 4.0*c;
double sqroot = Math.sqrt(discriminant);
double root1 = (-b + sqroot)/ 2.0;
double root2 = (-b - sqroot)/ 2.0;
System.out.println(root1);
System.out.println(root2);
} else {
System.out.println("two arguments are required: b and c, please");
}
}
}
如果判别式为负会发生什么?如果为零怎么办?
为什么你要把自己限制在 a = 1 的情况?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)