题解 | #计算一元二次方程#

计算一元二次方程

https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        double a = 0;
        double b = 0;
        double c = 0;
        while (in.hasNextDouble()) { // 注意 while 处理多个 case
            a = in.nextDouble();
            b = in.nextDouble();
            c = in.nextDouble();
            if (a == 0) {
                System.out.println("Not quadratic equation");
            } else {
                double delta = b * b - 4 * a * c; 
                double x1 = (-1 * b / 2 / a) + Math.sqrt(delta) / (2 * a);
                double x2 = (-1 * b / 2 / a) - Math.sqrt(delta) / (2 * a);
                double shibu = ((-1 * b) / 2 / a);
                double xubu = Math.sqrt(-1 * delta) / (2 * a);
                if (delta == 0) {
                    System.out.printf("x1=x2=%.2f", x1);
                } else if(delta > 0){
                    if (x1 <= x2) {
                        System.out.printf("x1=%.2f;x2=%.2f", x1, x2);
                    } else {
                        System.out.printf("x1=%.2f;x2=%.2f", x2, x1);
                    }
                } else {
                    System.out.printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi", shibu,
                    xubu, shibu, xubu);
                }
            }
            System.out.println();
        }
    }
}
Java基础练习题 文章被收录于专栏

都是一些基础的语法题目,每天可以刷几道。

全部评论

相关推荐

kyw_:接好运
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务