Xây dụng lớp Giải phương trình bậc 1 Java

Xây dụng lớp Giải phương trình bậc 1 Java

Mình mới chuyển từ lập trình hướng chức năng sang lập trình hướng đối tượng và đang thử viết chương trình giải phương trình bậc 2 theo hướng đối tượng nhưng bài của mình vẫn còn 1 số loiix mà mình không biết sai chỗ nào và sữa thế nào mông các bạn giúp và giải thích dùm mình. Mình phân tích các đối tượng như sau : - khai báo 3 hệ số là a ,b,c -viết hàm dựng -hàm nhập -hàm tính denta -hàm tính nghiệm -hÀM MAIN mình phân tích như thế này đã đúng chưa , thế có gọi la HĐT ko.Đây là CT của mình,mình không biết bỏ code vao cái khung như mấy bạn nên mình copy and paste ..... import java.util.Scanner; public class PhuongTrinhbac2 { private double hs_a,hs_b,hs_c; //---------------------------------------------------------- public PhuongTrinhbac2(){} //---------------------------------------------------------- public PhuongTrinhbac2(double a,double b,double c) { hs_a=a;hs_b=b;hs_c=c; } //---------------------------------------------------------------- public void nhap() { Scanner sc=new Scanner(System.in); System.out.println("Nhap a="); this.a=sc.nextInt(); System.oit.println("Nhap b="); this.b=sc.nextInt(); System.out.println("Nhap c="); this.c=sc.nextInt(); } //--------------------------------------------------------------- private double tinhdenta() { return b*b-4*a*c; } //------------------------------------------------------------------ public double TinhNghiem() { double denta=tinhdenta(); if (denta<0) return "Phuong Trinh Vo Nghiem"; else if (denta==0) return "Phuong Trinh Co Nghiep Kep La "+(-b/(2*a)); else return "Phuong Trinh Co Nghiem x1="+(-b-Math.sqrt(denta))/(2*a)+", x2="+(-b+Math.sqrt(denta))/(2*a); } } public static void main(String[] args) { PhuongTrinhbac2 pt=new PhuongTrinhbac2(); pt.nhap(); pt.TinhNghiem();

}

Xây dụng lớp Giải phương trình bậc 1 Java

System.out.println("Nhap a="); this.hs_a=sc.nextDouble();

Sửa lại tương tự với 2 biến còn lại. p/s: lần sau bỏ code trong 2 thẻ [ code]....[/ code] nhé. (ko có dấu spacebar ở đầu chữ code)

Updated: Move this thread to the right section.

Xây dụng lớp Giải phương trình bậc 1 Java

Cái này:

import java.util.Scanner; public class PhuongTrinhbac2 { ......... public double TinhNghiem() { double denta=tinhdenta(); if (denta<0) return "Phuong Trinh Vo Nghiem"; else if (denta==0) return "Phuong Trinh Co Nghiep Kep La "+(-b/(2*a)); else return "Phuong Trinh Co Nghiem x1="+(-b-Math.sqrt(denta))/(2*a)+", x2="+(-b+Math.sqrt(denta))/(2*a); } } } // Kết thúc lớp public static void main(String[] args) { PhuongTrinhbac2 pt=new PhuongTrinhbac2(); pt.nhap(); pt.TinhNghiem(); }

- Giá trị trả về của TinhNghiem() khai báo là double nhưng lại trả về là string.
- Phương thức main() nằm ngoài lớp.

Xây dụng lớp Giải phương trình bậc 1 Java

thế phương thức main phải để trong lớp ah

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 nhất trong Java. Đây là một bài tập căn bản nhập xuất khi bắt đầu học lập trình.

Phương trình bậc nhất có dạng ax + b = 0, trong phương trình này có 2 tham số là a và b, x là giá trị chúng ta cần tính. Hãy cùng xem ví dụ dưới đây để hiểu rõ hơn.

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

Chúng ta sẽ yêu cầu người dùng nhập vào hai hệ số a và b khi đó phương trình có dạng ax + b = 0, sau đó xét điều kiện cho a và b

Nếu a = 0 thì phương trình có hai trường hợp đó là:

  1. Trường hợp 1: Phương trình có vô số nghiệm khi a = 0 và b = 0.
  2. Trường hợp 2: Phương trình vô nghiệm khi a = 0 và b != 0.

Nếu a != 0 thì nghiệm của phương trình sẽ bằng -b / a.

import java.util.Scanner; import java.text.DecimalFormat; public class GiaiPTBacNhat { public static void main(String[] args) { int aNumber, bNumber; double nghiem; DecimalFormat decimalFormat = new DecimalFormat("#.##"); // làm tròn đến 2 chữ số thập phân Scanner scanner = new Scanner(System.in); System.out.println("Nhập vào số a: "); aNumber = scanner.nextInt(); System.out.println("Nhập vào số b: "); bNumber = scanner.nextInt(); System.out.println("Phương trình bạn vừa nhập vào là: " + aNumber + "x + " + bNumber + " = 0."); if (aNumber == 0) { if (bNumber == 0) { System.out.println("Phương trình này có vô số nghiệm."); } else { System.out.println("Phương trình vô nghiệm."); } } else { nghiem = (double) -bNumber / aNumber; // ép kiểu để cho ra kết quả chính xác System.out.println("Phương trình có nghiệm x = " + decimalFormat.format(nghiem) + "."); } System.out.println("-----------------------------"); System.out.println("Chương trình này được đăng tại Hoctapsgk"); } }

Kết quả:

Xây dụng lớp Giải phương trình bậc 1 Java

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

Một bài toán cơ bản tiếp theo trong ngôn ngữ lập trình nói chung và lập trình Java nói riêng đó là phương trình bậc nhất. Bài học hôm nay mình sẽ hướng dẫn các bạn cách giải bài toán phương trình bậc nhất trong Java. Bài học nằm trong Serie lập trình Java căn bản.

Giải bài toán phương trình bậc nhất trong Java như thế nào?

Đầu tiên bạn mở Eclipse lên => New JavaProject

Nếu bạn chưa cài đặt Eclipse có thể xem qua bài này : Hướng dẫn cài đặt jdk và Eclipse

Xây dụng lớp Giải phương trình bậc 1 Java
phương trình bậc nhất trong java

Sau khi bạn tạo Project xong => Bạn New một Package

Bạn nên tạo thói quen tạo từng Package cho mỗi phần học để quản lý dễ dàng hơn.

Xây dụng lớp Giải phương trình bậc 1 Java
phương trình bậc nhất trong java

Sau khi đã tạo một Package => Bạn New một Class từ Package đó để làm bài.

Xây dụng lớp Giải phương trình bậc 1 Java
phương trình bậc nhất trong java

Tiếp tục bạn nhập vào tên Class. Lưu ý : Nên viết chữ hoa đầu và không dấu => Bạn nên tích vào public static void main.

Xây dụng lớp Giải phương trình bậc 1 Java
phương trình bậc nhất trong java

Bạn sẽ thấy Class mà bạn vừa tạo và việc của bạn bây giờ là viết code xử lý bài toán phương trình bậc nhất

Ở đây nếu bạn quên tích vào nút public static void main bên trên thì cũng không sao, mình sẽ có giải pháp nhanh chóng cho các bạn bằng phím tắt. Bạn viết chữ main => Nhấp đồng thời phím Ctrl+Space rồi Enter là sẽ giải quyết được ngay.

Đây là màn hình ban đầu.

Xây dụng lớp Giải phương trình bậc 1 Java
phương trình bậc nhất trong java

Phương pháp giải bài toán phương trình bậc nhất trong Java mình vẫn sẽ áp dụng phương pháp tách hàm giống như các bài toán tính chu vi và diện tích hình tam giác, hình tròn. Đây là phương pháp nên dùng và được sử dụng rất nhiều hiện nay, việc áp dụng tách hàm giúp bạn khi học đến lập trình hướng đối tượng bạn sẽ không còn lạ lẫm hay gặp quá nhiều khó khăn.

Dưới đây là toàn bộ code giải bài toán.

Mình tách thành 2 hàm NhapSoNguyen, GiaiPTbac1 và một phương thức main.

Xây dụng lớp Giải phương trình bậc 1 Java
phương trình bậc nhất trong java

Bạn chạy chương trình, nhập vào hệ số phương trình sẽ thấy được kết quả:

Xây dụng lớp Giải phương trình bậc 1 Java
phương trình bậc nhất trong java

Lời kết : Bài toán phương trình bậc nhất trong Java là một trong những bài toán cơ bản mà người mới học lập trình phải biết và viết được, vì vậy bạn nên tự tay viết từng dòng code để thành thục và nhớ lâu hơn. Bài học tới mình sẽ hướng dẫn các bạn cách giải bài toán phương trình bậc hai trong Java. Một trong những bài toán cổ điển mà bất kỳ ai mới học lập trình cũng phải trải qua.

Chúc bạn thành công!

Những bài bạn nên xem:

Đam mê với website và blog, thích thể thao và trà đạo, tôn trọng các mối quan hệ và thích kết bạn với nhiều người ! Đã từng thực hiện hơn 800 dự án thiết kế website wordpress từ cá nhân đến doanh nghiệp. Hotline 0987.353.298 - Zalo 0334.363.307