public class ADTFractionApp {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ADTFraction f1 = new ADTFraction(3, 5);
f1.display();
ADTFraction f2 = new ADTFraction(7, 8);
f2.display();
}
}
class ADTFraction {
private int n; //numerator
private int d; //denomenator
//---------------------------------------------------
public ADTFraction() {//default constructor
this.n = 0;
this.d = 1;
}
//---------------------------------------------------
public ADTFraction(int a, int b) {//parameter constructor
if (b != 0) {
this.d = b;
this.n = a;
} else {
this.n = 0;
this.d = 1;
System.out.println("Denomenator cannot be Zero");
}
}
//---------------------------------------------------
public void set(int a, int b) {//set numerator and denomenator
if (b != 0) {
this.d = b;
this.n = a;
} else {
this.n = 0;
this.d = 1;
System.out.println("Denomenator cannot be Zero");
}
}
//---------------------------------------------------
public ADTFraction plus(ADTFraction x) {//add two fractions this=3/5 x=7/8
int num, den;
den = this.d * x.d;
num = this.n * x.d + x.n * this.d;
ADTFraction f1 = new ADTFraction(num, den);
return f1;
}
//---------------------------------------------------
public ADTFraction times(int a) {//multiply fraction by a number
int num, den;
den = this.d;
num = this.n * a;
ADTFraction f1 = new ADTFraction(num, den);
return f1;
//return times(new ADTFraction(a,1))
}
//---------------------------------------------------
public ADTFraction times(ADTFraction x) {//multiply two fractions
int num, den;
den = this.d * x.d;
num = this.n * x.n;
ADTFraction f1 = new ADTFraction(num, den);
return f1;
}
//---------------------------------------------------
public ADTFraction reciprocal() {//reciprocal of a fraction
ADTFraction f1 = new ADTFraction(this.d, this.n);
return f1;
}
//---------------------------------------------------
public float value() {//numerical value of a fraction
return (float) this.n / this.d;
}
//---------------------------------------------------
public void display() {//display the fraction in the format n/d
System.out.println(this.n + "/" + this.d);
}
//---------------------------------------------------
}