class FS {
private int fz = 1;
private int fm = 1;
public FS() {
}
public FS(double d) {
int decimalCount = 1;
int dLen = String.valueOf(d).length();
for (int i = 0; i < dLen; i++) {
d = d * 10;
decimalCount *= 10;
}
fz = (int) d;
fm = decimalCount;
yf();
}
public FS(int fz, int fm) {
setFS(fz, fm);
}
public int getFz() {
return fz;
}
public void setFz(int fz) {
this.fz = fz;
}
public int getFm() {
return fm;
}
public void setFm(int fm) {
if (fm != 0)
this.fm = fm;
else
fm = 1;
}
public void setFS(int fz, int fm) {
setFz(fz);
setFm(fm);
}
public String toString() {
return fz + "/" + fm;
}
public FS plus(FS fs) {
FS result = new FS();
result.setFz(fz * fs.fm + fs.fz * fm);
result.setFm(fm * fs.fm);
result.yf();
return result;
}
public void yf() {
int minValue = Math.min(Math.abs(fz), Math.abs(fm));
for (int i = minValue; i >= 1; i--) {
if (fz % i == 0 && fm % i == 0) {
fz = fz / i;
fm = fm / i;
break;
}
}
}
}
public class Exec {
public static void main(String[] args) {
FS fs1 = new FS(0.5);
FS fs2 = new FS(3, 5);
FS fs3 = fs1.plus(fs2);
System.out.println(fs3);
}
}