码迷,mamicode.com
首页 > 其他好文 > 详细

二元一次方程

时间:2016-10-22 00:28:15      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:次方   []   复数   mil   result   err   sqrt   else   str   

  1. public class Equation2 {
  2. private static float x1;
  3. private static float x2;
  4. private static float x;
  5. private static float real;
  6. private static float imag;
  7. private static float[] results;
  8. private static float a;
  9. private static float b;
  10. private static float c;
  11. private static float delt;
  12. public static void calc(float w,float p,float q){
  13. results=new float[2];
  14. a=w; b=p; c=q;
  15. if(0.0f==a){ //bx+c=0; x=-c/b;
  16. if(0.0f!=b){
  17. x=-c/b; 
  18. results[0]=x;
  19. }else{
  20. System.err.println("不是一个方程!");
  21. return;
  22. }
  23.      
  24. }else{
  25. delt=b*b-4*a*c;
  26. if(delt>=0){
  27. x1=(float) ((-b+Math.sqrt(delt))/(2*a));
  28. x2=(float) ((-b-Math.sqrt(delt))/(2*a));
  29. results[0]=x1;
  30. results[1]=x2;
  31. }else{
  32. real=-b/(2*a);
  33. imag=(float) (Math.sqrt(-delt)/(2*a));
  34. results[0]=real;
  35. results[1]=imag;
  36. }
  37. }
  38. }
  39. public static void print(){
  40. if(0.0f==a){ 
  41. if(0.0f!=b){
  42. System.out.println("该方程是一元一次方程,其根为:x="+results[0]);
  43. }else{
  44. System.err.println("不是一个方程!");
  45. }
  46. }else{
  47. if(delt>=0){
  48. System.out.println("该方程是一元二次方程,两根分别为:x1="+results[0]+",x2="+results[1]); 
  49. }else{
  50. System.out.println("该一元二次方程的根为复数,两根分别为:x1="+results[0]+"+"+results[1]+"i"+",x2="+results[0]+"-"+results[1]+"i");
  51. }
  52. }
  53. }
  54. public static void main(String[] args) {
  55. float a=1.0f;
  56. float b=2.0f;
  57. float c=2.0f;
  58. Equation2.calc(a,b,c);
  59. Equation2.print();
  60. Math.sqrt(a);
  61. }
  62. }

二元一次方程

标签:次方   []   复数   mil   result   err   sqrt   else   str   

原文地址:http://www.cnblogs.com/1409030209l/p/5986260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!