java求一元二次方程的根

2025年03月01日 17:06
有2个网友回答
网友(1):

import java.util.Scanner;
public class Test30009{
public static void main(String args[]){
int repeat, ri;
int a,b,c,d;
double x1 = 0,x2;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri = 1; ri <= repeat; ri++){
a=in.nextInt();b=in.nextInt();c=in.nextInt();
d=b*b-4*a*c;
if(a==0&&b==0&&c==0)
System.out.println("a=b=c=0,meaningless");
else if(a==0&&b==0)
System.out.println("a=b=0,c!=0,error");
else if(a==0){
x1=-c*1.0/b;
System.out.println("x="+String.format("%.2f", x1));
}else if(d>0||d==0){
x1=(-b+Math.sqrt(d))/(2*a);
x2=(-b-Math.sqrt(d))/(2*a);

System.out.println("x1="+String.format("%.2f", x1));
System.out.println("x2="+String.format("%.2f", x2));
}else{
x1=-b*1.0/(2*a);
x2=Math.sqrt(-d)/(2*a);

System.out.println("x1="+String.format("%.2f", x1)+"+"+String.format("%.2f", x2)+"i");
System.out.println("x2="+String.format("%.2f", x1)+"-"+String.format("%.2f", x2)+"i");
}
}
}
}

网友(2):

http://blog.sina.com.cn/s/blog_4d9c3fec0100txiw.html