用java解一元二次方程组
System.out.print("求 ax^2+bx+c=0的根"+"
");
Scanner in=new Scanner(System.in); //定义变量
while(true) {
System.out.println("请输入a的值:");
int a=in.nextInt();
System.out.println("请输入b的值:");
int b=in.nextInt();
System.out.println("请输入c的值:");
int c=in.nextInt();
double m=b*b-4*a*c; //定义方程式根号里的值为m
double x1,x2; //声明方程式的两个根为x1,x2
if (m<0) { //考虑方程式有无根的情况
System.out.println("方程无解");
}
else if (m==0){
System.out.println("方程有一个根");
System.out.println("x1="+(-b)/(2*a));
}
else if(m>0){
System.out.println("方程有两个根");
System.out.println("x1="+(-b)+Math.sqrt(m)/(2*a));
System.out.println("x2="+(-b)+Math.sqrt(m)/(2*a));
break;
}
}
}
考虑一元二次方程组可能出现的三种情况
当b*b-4*a*c<0时则方程无解
当b*b-4*a*c==0时则方程只有一解
当b*b-4*a*c>0时则方程有两个解
定义一小数常量m=b*b-4*a*c
用while来实现计算循环(方程组执行的次数循环)
结尾处break用于结束本次循环
用if....else if...来考虑方程可能出现的三种情况
执行结果:
求 ax^2+bx+c=0的根 请输入a的值: 20 请输入b的值: 60 请输入c的值: 43 方程有两个根 x1=-600.31622776601683794 x2=-600.31622776601683794
上一篇:
通过多线程提高代码的执行效率例子
