用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
上一篇:
通过多线程提高代码的执行效率例子