ax2+bx+c=0的根的算法

每日一练作业

写一个函数,接受三个整数a, b, c,计算ax2+bx+c=0 的根。

另外,在计算时应当判断 b2 - 4ac 是否大于0。

我们什么都没有,唯一的本钱就是青春。梦想让我与众不同,奋斗让我改变命运!

 

package com.yirose.java8.string;

public class CalculateRoot {

    public static void main(String[] args) {
        
        //解:求一元二次方程ax2+bx+c=0的根的算法步骤是
        
        // [Step 1] 输入3个系数a,b,c;
        int a = 5;
        int b = 11;
        int c = 5;

        // [Step 2] 计算△=b2-4ac;
        int v = (int) Math.pow(b, 2) - 4 * a * c;

        // [Step 3] 判断 △ ≥ 0是否成立;
        if (a == 0 && b == 0 && v < 0) {
            System.out.println("方程不成立或方程没有实数根,请重新输入:");
        } else {
            double p = b / (2 * a);
            double q = Math.sqrt(v) / (2 * a);
            
            // [Step 4];
            if (v == 0) {
                System.out.println("x1=x2=" + p);
            } else {
                System.out.println("x1=p+q x1=" + (p + q));
                System.out.println("x2=p-q x2=" + (p - q));
            }
        }
    }
}

 

posted @ 2017-06-20 10:05  pxuan  阅读(2512)  评论(0编辑  收藏  举报