Giải phương trình bậc hai trong Java
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.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
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 bậc hai trong Java.
Giải thích:
Bài viết này được đăng tại [free tuts .net]
Đầ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:
- Nếu Delta < 0 thì phương trình vô nghiệm.
- Nếu Delta = 0 thì phương trình có nghiệp kép là x1 = x2 = -b / 2 * a.
- 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 Freetuts.net"); } }
Kết quả 1:
Kết quả 2:
Kết quả 3:
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!!!