Giải phương trình bậc 2 Java swing

Hướng dẫn lập trình java cơ bản, chương trình giải phương trình bậc 2, Tag: java swing cơ bản, java swing, java co ban, lap trinh java

Xem thêm: //blogchiasẻ.vn/category/review

Nguồn: //blogchiasẻ.vn

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.

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:

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

Đố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 < 0 thì phương trình vô nghiệm!
  • 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.

Trong chương trình, mình có sử dụng làm tròn biến đến phần thập phân thứ 2 trong java. Nếu bạn không hiểu có thể xem thêm tại đây.

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.

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

// code by admin tailieu.pro // //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ập public Phuongtrinhbac2[double a, double b, double c]{ this.a=a; this.b=b; this.c=c; } // Phương thức nhập dữ liệu public 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ỗi System.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ân System.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[delta0 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.

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

// code by admin dhlamnghiep.org// //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.

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é!

Video liên quan

Bài Viết Liên Quan

Toplist mới

Bài mới nhất

Chủ Đề