求解一元二次方程:a*x*x+b*x+c=0,a、b、c从命令行输入。
class test{
public static void main(String [] args){
int a,b,c;
double x;
a=Integer.parseInt(args[0]);
b=Integer.parseInt(args[1]);
c=Integer.parseInt(args[2]);
if(a!=0&b!=0&c!=0){
double d=java.lang.Math.pow((b/(2*a)), 2);
double e=c/a;
if(d<e){
System.out.println("无解!");
}
else{
double f=d-e;
x=java.lang.Math.sqrt(f);
System.out.println("X="+(-b/(2*a)+x)+"或者X="+((-b/(2*a))-x));
}
}
else if(a!=0&b==0&c!=0){
double e=(-c/a);
if(e<0){
System.out.println("无解!");
}
else{
x=java.lang.Math.sqrt(e);
System.out.println("X="+x+"或者X="+(-x));
}
}
else if(a==0&b!=0&c!=0){
x=(-c/b);
System.out.println("X="+x);
}
else if(a!=0&b!=0&c==0){
x=(-b/a);
System.out.println("X="+x+"或者X="+0);
}
else if(a==0&b==0&c!=0){
System.out.println("无解!");
}
else if(a==0&b!=0&c==0){
System.out.println("X="+0);
}
else if(a!=0&b==0&c==0){
System.out.println("X="+0);
}
else if(a==0&b==0&c==0){
System.out.println("X为任意值!");
}
}
}