i need it in simple way ,, no switch no cases no breakes !! please read the requ
ID: 3882548 • Letter: I
Question
i need it in simple way ,, no switch no cases no breakes !!
please read the requirment carfuly !! , the output should be same as the example i attached ( the example above the uml diagrams)
if you do not know how to solve it please leave it for one who knows!
thanks
OBJECTIVE Design, debug and test a Java program that performs arithmetic operations on fractions. Fractions are of the form a/b, where numerator a and denominator b are integers. For this assignment, it is assumed that both a>0 and b0, and are represented only by a single digit value 11...9 CODING REQUIREMENTS Your program shall be well structured and designed using the concept of object oriented . programming: follow the fundamental principles of the OOD when you define classes and relationship between them Your program shall use command line arguments to get two fractions * For example: java ArithmeticWithFractions 2/5 1/7 .You can presume that the number of command line parameters and their values are always entered properly according to the assignment specification Your program shall include meaningful comments and follow commonly accepted conventions regarding names of variables. Your program shall produce the output in the format shown in the example below.Explanation / Answer
public class Fraction {
int numerator;
int denominator;
public Fraction() {
// TODO Auto-generated constructor stub
numerator = 0;
denominator = 1;
}
/**
* @param numerator
* @param denominator
*/
public Fraction(int numerator, int denominator) {
this.numerator = numerator;
if (denominator <= 0)
this.denominator = 1;
else
this.denominator = denominator;
}
/**
* @return the numerator
*/
public int getNumerator() {
return numerator;
}
/**
* @return the denominator
*/
public int getDenominator() {
return denominator;
}
/**
* @param numerator
* the numerator to set
*/
public void setNumerator(int numerator) {
this.numerator = numerator;
}
/**
* @param denominator
* the denominator to set
*/
public void setDenominator(int denominator) {
this.denominator = denominator;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "" + numerator + " / " + denominator;
}
}
public class Calculator {
private Fraction fr1;
private Fraction fr2;
/**
* @param fr1
* @param fr2
*/
public Calculator(Fraction fr1, Fraction fr2) {
this.fr1 = fr1;
this.fr2 = fr2;
}
/**
* @return
*/
public Fraction addFractions() {
int numerator = (fr1.getNumerator() * fr2.getDenominator())
+ (fr2.getNumerator() * fr1.getDenominator());
int denominator = fr1.getDenominator() * fr2.getDenominator();
return new Fraction(numerator, denominator);
}
/**
* @return
*/
public Fraction subtFractions() {
int numerator = (fr1.getNumerator() * fr2.getDenominator())
- (fr2.getNumerator() * fr1.getDenominator());
int denominator = fr1.getDenominator() * fr2.getDenominator();
return new Fraction(numerator, denominator);
}
/**
* @return
*/
public Fraction multFractions() {
Fraction product = new Fraction();
// calculate product
product.setNumerator(fr1.getNumerator() * fr2.getNumerator());
product.setDenominator(fr1.getDenominator() * fr2.getDenominator());
return product;
}
/**
* @return
*/
public Fraction divFractions() {
// create new fraction to return as result
Fraction result = new Fraction();
// calculate result
result.numerator = fr1.numerator * fr2.denominator;
result.denominator = fr1.denominator * fr2.numerator;
return result;
}
public int calcCommonDenominator() {
int M, N, R;
if (fr1.denominator < fr2.denominator) {
N = fr1.denominator;
M = fr2.denominator;
} else {
N = fr2.denominator;
M = fr1.denominator;
}
R = M % N;
while (R != 0) {
M = N;
N = R;
R = M % N;
}
return N;
}
}
public class ArithmeticWithFractions {
static Fraction sum;
static Fraction difference;
static Fraction product;
static Fraction quotient;
static Fraction fr1 = new Fraction();
static Fraction fr2 = new Fraction();
public static void main(String[] args) {
String arg1[] = args[0].split("/");
String arg2[] = args[1].split("/");
fr1.setNumerator(Integer.parseInt(arg1[0]));
fr1.setDenominator(Integer.parseInt(arg1[1]));
fr2.setNumerator(Integer.parseInt(arg2[0]));
fr2.setDenominator(Integer.parseInt(arg2[1]));
Calculator calculator = new Calculator(fr1, fr2);
sum = calculator.addFractions();
difference = calculator.subtFractions();
product = calculator.multFractions();
quotient = calculator.divFractions();
displayResults();
System.out.println("The program was terminated");
}
public static void displayResults() {
System.out.println("--- Basic Operations with fractions ---");
System.out.println(fr1 + " + " + fr2 + " = " + sum);
System.out.println(fr1 + " - " + fr2 + " = " + difference);
System.out.println(fr1 + " * " + fr2 + " = " + product);
System.out.println(fr1 + " / " + fr2 + " = " + quotient);
}
}
OUTPUT:
java ArithmeticWithFractions 2/5 1/7
--- Basic Operations with fractions ---
2 / 5 + 1 / 7 = 19 / 35
2 / 5 - 1 / 7 = 9 / 35
2 / 5 * 1 / 7 = 2 / 35
2 / 5 / 1 / 7 = 14 / 5
The program was terminated
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.