Java - Xây dựng chương trình cộng, trừ, nhân và chia 2 phân số.

Xây dựng chương trình cộng, trừ, nhân và chia 2 phân số. Sử dụng phương thức khởi tạo để nhập tử số và mẫu số. Mỗi một phép tính tương ứng cho một phương thức.

Bài giải

-------------------- ######## --------------------

PhanSo.java
package baitapphanso;

public class PhanSo {
	private int tu, mau;

	public PhanSo(int tu, int mau) {
		super();
		this.tu = tu;
		this.mau = mau;
	}
	
	 public int getTu() {
		return tu;
	}

	public void setTu(int tu) {
		this.tu = tu;
	}

	public int getMau() {
		return mau;
	}

	public void setMau(int mau) {
		this.mau = mau;
	}

	public int timUSCLN(int a, int b) {
		while (a != b) {
			if (a > b) {
				a -= b;
			} else {
				b -= a;
			}
		}
		return a;
	}
	
	public void toiGianPhanSo() {
		int i = timUSCLN(this.getTu(), this.getMau());
		this.setTu(this.getTu() / i);
		this.setMau(this.getMau() / i);
	}
	
	public void congPhanSo(PhanSo ps) {
		int ts = this.getTu() * ps.getMau() + ps.getTu() * this.getMau();
		int ms = this.getMau() * ps.getMau();
		PhanSo phanSoTong = new PhanSo(ts, ms);
		phanSoTong.toiGianPhanSo();
		System.out.println("Tổng hai phân số = " + phanSoTong.tu + "/" + phanSoTong.mau);
	}
	 
	public void truPhanSo(PhanSo ps) {
		int ts = this.getTu() * ps.getMau() - ps.getTu() * this.getMau();
		int ms = this.getMau() * ps.getMau();
		PhanSo phanSoHieu = new PhanSo(ts, ms);
		phanSoHieu.toiGianPhanSo();
		System.out.println("Hiệu hai phân số = " + phanSoHieu.tu + "/" + phanSoHieu.mau);
	}
	
	public void nhanPhanSo(PhanSo ps) {
		int ts = this.getTu() * ps.getTu();
		int ms = this.getMau() * ps.getMau();
		PhanSo phanSoTich = new PhanSo(ts, ms);
		phanSoTich.toiGianPhanSo();
		System.out.println("Tích hai phân số = " + phanSoTich.tu + "/" + phanSoTich.mau);
	}
	
	public void chiaPhanSo(PhanSo ps) {
		int ts = this.getTu() * ps.getMau();
		int ms = this.getMau() * ps.getTu();
		PhanSo phanSoThuong = new PhanSo(ts, ms);
		phanSoThuong.toiGianPhanSo();
		System.out.println("Thương hai phân số = " + phanSoThuong.tu + "/" + phanSoThuong.mau);
	}
	
}

TestPhanSo.java
package baitapphanso;

public class TestPhanSo {
	
	public static void main(String[] args) {
		PhanSo phanSo1=new PhanSo(16,3);	// tạo phân số có tử = 16 và mẫu = 4
		PhanSo phanSo2=new PhanSo(4,8);	// tạo phân số có tử = 4 và mẫu = 8
		
		// gọi phương thức cộng, trừ, nhân, chia 2 phân số
		phanSo1.congPhanSo(phanSo2);
		phanSo1.truPhanSo(phanSo2);
		phanSo1.nhanPhanSo(phanSo2);
		phanSo1.chiaPhanSo(phanSo2);
	}
	
}

Kết quả sau khi biên dịch chương trình:

Nguồn: freetuts.net