Tạo và sử dụng lớp số phức trong Java
Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Java tạo và sử dụng lớp số phức Complex gồm 2 thuộc tính là a và b (a là phần thực và b là phần ảo). Và các phương thức: khởi tạo, cộng, trừ, nhân, chia hai số phức, hiển thị số phức theo đúng định dạng a + b*i
Yêu cầu kiến thức:
- Xác định, chuyển từ đối tượng thực tế thành các đối tượng chương trình
- Xác định thuộc tính và phương thức cho lớp và đối tượng
- Xác định kiểu dữ liệu cho mỗi thuộc tính và phương thức
Cấu trúc thư mục:
src
|——BuildClass
|——Complex.java
|——UseClass
|——MainClass.java
Code tham khảo dưới đây được viết trên JDK ver 8.x:
File Complex.java:
package BuildClass;
import java.util.Scanner;
public class Complex {
// Thuoc tinh
private double a;
private double b;
// Phuong thuc
// Ham khoi tao khong doi so
public Complex() {
a = 0;
b = 0;
}
// Ham khoi tao co doi so
public Complex(double a, double b) {
this.a = a;
this.b = b;
}
// Ham nhap so phuc
public void nhap(Scanner sc) {
System.out.print("\tNhap vao phan thuc: ");
a = sc.nextDouble();
System.out.print("\tNhap vao phan ao: ");
b = sc.nextDouble();
}
// Ham hien thi so phuc
public void hienThi() {
if (b < 0) {
System.out.println(a + " - " + Math.abs(b) + "*i");
} else {
System.out.println(a + " + " + b + "*i");
}
}
// Ham cong 2 so phuc
public Complex congSP(Complex sp2) {
double thuc = a + sp2.a;
double ao = b + sp2.b;
return new Complex(thuc, ao);
}
// Ham tru 2 so phuc
public Complex truSP(Complex sp2) {
double thuc = a - sp2.a;
double ao = b - sp2.b;
return new Complex(thuc, ao);
}
// Ham nhan 2 so phuc
public Complex nhanSP(Complex sp2) {
double thuc = a * sp2.a - b * sp2.b;
double ao = a * sp2.b + sp2.a * b;
return new Complex(thuc, ao);
}
// Ham chia 2 so phuc
public Complex chiaSP(Complex sp2) {
double thuc = (a * sp2.a + b * sp2.b) / (sp2.a * sp2.a + sp2.b * sp2.b);
double ao = (sp2.a * b - a * sp2.b) / (sp2.a * sp2.a + sp2.b * sp2.b);
return new Complex(thuc, ao);
}
}
File MainClass.java:
package UseClass;
import BuildClass.Complex;
import java.util.Scanner;
public class MainClass {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Khai bao doi tuong
Complex sp1 = new Complex();
Complex sp2 = new Complex();
Complex spThuong = new Complex();
// Nhap
System.out.println("Nhap vao so phuc 1:");
sp1.nhap(sc);
System.out.println("Nhap vao so phuc 2:");
sp2.nhap(sc);
// Hien thi
System.out.println("So phuc 1 la:");
sp1.hienThi();
System.out.println("So phuc 2 la:");
sp2.hienThi();
// Chia sp1 cho sp2
spThuong = sp1.chiaSP(sp2);
// Hien thi
System.out.println("Ket qua cua phep chia sp1 cho sp2 la:");
spThuong.hienThi();
sc.close();
}
}
Kết luận:
- Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
- Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây
- Bạn có thể tham khảo thêm khóa học Ôn tập OOP cơ bản trong Java. Xem tại đây