Phân Số

  1. Xây dựng lớp phân số với hai thuộc tính riêng xác định tử số và mẫu số của phân số và xây dựng các phương thức:
- Các toán tử tạo lập (constructor) trường hợp không có tham số và trường hợp có 2 tham số tử số và mẫu số
- Các phép toán cộng, trừ, nhân, chia các phân số
- Phép kiểm tra một phân số có phải tối giản hay không
- Phép tìm dạng tối giản của phân số
 2. Viết chương trình ứng dụng kiểm tra hoạt động của các phương thức
  

//Lớp Phân Số
public class PhanSo
{
private int ts;
private int ms;

public PhanSo()
{
this(0,1);
}
public PhanSo(int ts,int ms)
{
this.ts=ts;
this.ms=ms;
}
public PhanSo CongPS(PhanSo ps)
{
int tsm=this.ts*ps.ms+ps.ts*this.ms;
int msm=this.ms*ps.ms;
return new PhanSo(tsm,msm).rutGonPS();
}//tương tự với phuong thức Trừ,Nhân,Chia
public int UCLN(int a,int b)
{
while(a!=b)
{
if(a>b)
{
a=a-b;
}else
{
b=b-a;
}
}
return a;
}
public PhanSo rutGonPS()
{
int ucln=ucln(this.ts;this.ms);
return new PhanSo(ts/ucln;ms/ucln);
}
public boolean ktToiGian()
{
if (ucln(ts,ms)==1)
{
return true;
}
return false;
}
public String toString()
{
return ts+"/"+ms;
}
}

//Lớp Test

public class Test
{
public static void main(String[] args)
{
PhanSo ps1 = new PhanSo(8,12);
PhanSo ps2 = new PhanSo();
PhanSo ps3 = new PhanSo(7,9);
PhanSo pst = ps1.congPS(ps3);
System.out.println("PSrutgon: "+ps1.rutGonPS());
System.out.println(pst);
}
}