Viết chương trình xây dựng một lớp PhanSo gồm có 2 thuộc tính là tử số (numerator) và mẫu số (denominator). Chương trình có các phương thức getter và setter cho các thuộc tính và có các chức năng sau: - reduce(): tối giản phân số - inverse(): nghịch đảo phân số - add(PhanSo p2): cộng 2 phân số - subtract(PhanSo p2): trừ 2 phân số - multiple(PhanSo p2): nhân 2 phân số - divide(PhanSo p2): chia 2 phân số - compare(PhanSo p2): so sánh 2 phân số. Trả về 0 nếu 2 phân số bằng nhau, 1 nếu phân số thứ 1 lớn hơn và -1 nếu phân số thứ nhất bé hơn trong java

public class PhanSo { private int tuSo; private int mauSo; //getter,setter public void setTuSo(int tuSo){ this.tuSo = tuSo; } public int getTuSo(){ return this.tuSo; } public void setMauSo(int mauSo){ this.mauSo = mauSo; } public int getMauSo(){ return this.mauSo; } public void reduce(){ int ucln = 1; int max = (getTuSo() > getMauSo()) ? getTuSo() : getMauSo(); for (int i = 1; i <= max; i++) { if(getTuSo() % i == 0 && getMauSo() % i == 0){ ucln = i; } } setTuSo(getTuSo() / ucln); setMauSo(getMauSo()

Questions about programming?Chat with your personal AI assistant