Giải Phương Trình Bậc 2 Java Code, Giải Phương Trình Bậc 2 Trong Java

Bài tập viết chương trình giải phương trình bậc 2 trong java swing hướng đối tượng. Giải PT bậc 2, PT bậc 1 với Java có ứng dụng try catch bắt lỗi nhập dữ liệu.

Đang xem: Giải phương trình bậc 2 java

1. Giới thiệu bài toán

Viết chương trình giải phương trình bậc 2 là một bài tập đơn giản và thường gặp phải khi bạn mới học lập trình. Giải PT bậc 2 giúp bạn hiểu rõ hơn cấu trúc if, else và cách sử dụng biến trong ngôn ngữ lập trình. Cách giải quyết bài toán theo tư duy lập trình đều giống nhau với các ngôn ngữ.

Trong Java hay C++, Python đều vậy. Đều ứng dụng cách giải dựa vào cách giải thực tế về mặt toán học. Giả sử mình có đầu bài bài toán như sau:

Bạn hãy viết chương trình giải phương trình bậc 2 bằng ngôn ngữ Java hướng đối tượng. Xây dựng lớp Phuongtrinhbac2 gồm các thuộc tính a, b, c lần lượt là các hệ số của phương trình. Xây dựng phương thức nhapPT() để nhập các hệ số a, b, c. Xây dựng phương thức giaiPT() để giải phương trình vừa nhập.Các giá trị nghiệm in ra màn hình làm tròn đến phần thập phân thứ 2.Nếu phương trình không hợp lệ, in kêt quả ra màn hình.

2. Phương pháp giải bài toán

Thuật toán giải quyết giống với cách giải đã học trong môn Toán học. Trong lập trình có các trường hợp có thể xảy ra như sau:

Phương trình có hệ số của a =0 ( b và c khác 0)Phương trình có đầy đủ hệ số.

Xem thêm: Đồ Án Mạng Lưới Thoát Nước, Thiết Kế Mạng Lưới Thoát Nước Thành Phố A

Đối với phương trình có hệ số a =0. Lúc này chúng ta quay trở về bài toán giải phương trình bậc 1. Nghiệm x = -c/b

Đối với chương trình bậc 2 bình thường ( đầy đủ các hệ số a, b c) thì cách giải như sau: Chúng ta khai báo biến delta.delta = b^2 – 4*a*c. Sau đó lại có 3 trường hợp:

Nếu delta Nếu delta == 0 thì phương trình có nghiệm kép x= -b/(2*a)Nếu delta >0 thì phương trình có 2 nghiệm phân biệt:x1 = (-b + sqrt(delta)) / (2*a);x2 = (-b – sqrt(delta)) / (2*a);

Nếu giả sử người dùng nhập vào hệ số a=b=0 thì sẽ thông báo phương trình không hợp lệ!

3. Code giải phương trình bậc 2 Java

Để chạy được chương trình, bạn cần cài đặt java, cấu hình java cho ide nào đó thì mới chạy được nhé! Ở đây mình đang sử dụng Eclipse.

Ngoài các phương thức như đã nếu ở phần giới thiệu bài toán. Mình có tạo thêm phương thức nhapDouble(). Phương thức này giúp bạn nhập vào từ bàn phím một biến kiểu double. Nếu người dùng nhập sai thì cần nhập lại.

Xem thêm: Kết Quả Thống Kê Diện Tích Đất Nông Nghiệp Việt Nam Năm 2017

Mời bạn tham khảo chương trình hoàn chính của mình!

// code by admin lingocard.vn// https://github.com/duongdinh24/import java.util.Scanner;//import java.math.*;import java.io.*;public class Phuongtrinhbac2 {private double a;private double b;private double c;public Phuongtrinhbac2(){} // Phương thức tạo lậppublic Phuongtrinhbac2(double a, double b, double c){this.a=a;this.b=b;this.c=c;} // Phương thức nhập dữ liệupublic double nhapDouble() {double so;Scanner scan = new Scanner(System.in);try {so = Double.parseDouble(scan.nextLine());}catch (Exception e) { // Nếu nhập vào lỗiSystem.out.println(“Nhap lai!”);so=nhapDouble(); // Đệ quy hàm nhập}return so; // Trả về giá trị nhập}void nhapPT() {System.out.println(“Moi ban nhap phuong trinh can giai: “);System.out.println(“a: “);a=nhapDouble();System.out.println(“b: “);b=nhapDouble();System.out.println(“c: “);c=nhapDouble();}void giaiPt() {if(a==0) {if(b!=0) {double x; x= -c/b;x=Math.round(x*100.0)/100.0; // làm tròn số thập phânSystem.out.println(“Nghiem phuong trinh: “+x);}else if(b==0) {System.out.println(“Phuong trinh khong hop le!”);return;}}else {double delta= b*b -4*a*c;if(delta

Kết quả khi chạy chương trình

Kết quả khi chạy chương trình trường hợp a =0.

*

Kết quả khi chạy chương trình trường hợp đầy đủ hệ số!(test luôn phương thức nhập, mình nhập vào kí tự xem chuyện gì xảy ra)

*

*

Bài chia sẻ của mình đến đây là hết, cảm ơn bạn đã quan tâm. Nếu có gì thắc mắc, để lại comment phía dưới bài viết này nhé!

Xem thêm bài viết thuộc chuyên mục: Phương trình