06/04/2021, 14:47

Giải phương trình bậc hai trong Java - Bài tập Java có lời giải cơ bản đến nâng cao

Trong bài tập này chúng ta sẽ thực hiện chương trình giải phương trình bậc hai trong Java. Đây là một bài tập phổ biến khi bắt đầu học ngôn ngữ lập trình. Phương trình bậc hai có 3 hệ số là a, b, c có dạng như sau: Ví dụ: Chương trình giải phương trình ...

Trong bài tập này chúng ta sẽ thực hiện chương trình giải phương trình bậc hai trong Java. Đây là một bài tập phổ biến khi bắt đầu học ngôn ngữ lập trình.

Phương trình bậc hai có 3 hệ số là a, b, c có dạng như sau:

pt bac hai png

Ví dụ: Chương trình giải phương trình bậc hai trong Java.

Giải thích:

Đầu tiên chúng ta sẽ yêu cầu người dùng nhập vào các hệ số a, b, c cho phương trình bậc hai.

Tiếp đến tính Delta = b*b-4*a*c

Sau đó xét điều kiện cho Delta:

  1. Nếu Delta < 0 thì phương trình vô nghiệm.
  2. Nếu Delta = 0 thì phương trình có nghiệp kép là x1 = x2 = -b / 2 * a.
  3. Nếu Delta > 0 thì phương trình có hai nghiệm phân biệt là x1 = (-b + Math.sqrt(delta)) / (2 * a) , x2 = (-b - Math.sqrt(delta)) / (2 * a).

Và cuối cùng là hiển thị kết quả ra màn hình.

import java.util.Scanner;
public class GiaiPTBacHai {
    public static void main(String[] args) {
        double a, b, c, x1, x2, delta;
        String ketQua = "";
        Scanner scanner = new Scanner(System.in);
        do {
            System.out.print("Nhập a (a # 0): ");
            a = scanner.nextDouble();
        } while (a == 0);
        System.out.print("Nhập b: ");
        b = scanner.nextDouble();
        System.out.print("Nhập c: ");
        c = scanner.nextDouble();
        System.out.println("Phương trình bậc hai bạn vừa nhập có dạng: "+a+"x^2 + "+b+"x + "+c+" = 0");
        // tính delta = b * b - 4 * a * c;
        delta = Math.pow(b, 2) - 4 * a * c;
        // kiểm tra nếu delta < 0 thì phương trình vô nghiệm
        // delta = 0 thì phương trình có nghiệm kép
        // delta > 0 thì phương trình có 2 nghiệm phân biệt
        if (delta < 0) {
            ketQua = "Phương trình vô nghiệm!";
        } else if (delta == 0) {
            x1 = x2 = -b/ (2*a);
            System.out.println("Phương trinh có nghiệm kép là x1 = x2 = "+x1);
        } else {
            x1 = (-b + Math.sqrt(delta)) / (2 * a);
            x2 = (-b - Math.sqrt(delta)) / (2 * a);
            ketQua = "Phương trình có 2 nghiệm x1 = " + x1 + " và x2 = " + x2;
        }
        System.out.println(ketQua);
        System.out.println("-------------------------");
        System.out.println("Chương trình này được đăng tại Zaidap.com.net");
    }
}

Kết quả 1:

pt vo nghiem JPG

Kết quả 2:

pt nghiem kep JPG

Kết quả 3:

pt nghiem don JPG

Như vậy là chúng ta đã thực hiện xong chương trình giải phương trình bậc hai trong Java. Chúc các bạn thực hiện thành công!!!

Bài tiếp

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0