subject

Create a class called Fraction. Provide a constructor that takes 2 integers. Provide methods for:
toString
setFraction
equals
add
subtract
multiple
divide
reduce - make sure you get the previous methods done before worrying about reduce.

The following will be your starting point:

package fractions;
import java. util.*;
public class Fraction
{
private Scanner scan = new Scanner(System. in);
private int num=1;
private int denom=1;

public Fraction()
{
}

public Fraction(int n, int d)
{
// Fill in code (good to use setFraction)
}

public void setFraction(int n, int d)
{
//Fill in code ... don't forget to reduce
}

public Fraction add(Fraction op)
{
//Fill in code ... don't forget to reduce
// Algebra HINT: a/b + c/d = (a*d + b*c)/(b*d)
}

public Fraction subtract(Fraction op)
{
//Fill in code ... don't forget to reduce
// Algebra HINT: a/b - c/d = (a*d - b*c)/(b*d)
}

public Fraction multiply(Fraction op)
{
//Fill in code ... don't forget to reduce
// Algebra HINT: a/b * c/d = (a*c)/ (b*d)
}

public Fraction divide(Fraction op)
{
//Fill in code ... don't forget to reduce
// Algebra HINT: a/b / c/d = (a*d)/ (b*c)
}

private void reduce()
{
// Pseudo code:
// set smaller = minimum ( abs(num), abs(denom));
// Loop through the possible divisors: 2, 3, 4, ... smaller
// For each possible divisor:
// while (num and denom are evenly divisible by divisor)
// {
// num /= divisor;
// denom /= divisor;
// smaller /= divisor;
// }
}

public boolean equals(Fraction f)
{
// Assuming all fractions are reduced
// Fill in code
}

public String toString()
{
// Fill in code
}

public void readin(String label)
{
while (true) // Keep trying if bad input is received
{
System. out. print(label);
String temp = scan. next();
temp = temp. trim(); // get rid of white space at the beginning and end
int index = temp. indexOf('/');
if (index >= 0)
{
String numStr = temp. substring(0, index);
String denomStr = temp. substring(index+1);
int n = Integer. parseInt(numStr);
int d = Integer. parseInt(denomStr);
setFraction(n, d);
return;
}
else
System. out. println("Input Fraction missing / ");
}//Keep trying until you get it right
}

public static void main(String[] args)
{
Fraction f1= new Fraction();
Fraction f2= new Fraction();
Fraction f3=null;
Scanner scan = new Scanner(System. in);

while(true)
{
System. out. println(); // Add a blank line
System. out. print("Enter operation: + - * / q (q ==> quit) : ");
String input = scan. next();
if (input. charAt(0) == 'q')
break; // All done

f1.readin("Enter Fraction 1: ");
f2.readin("Enter Fraction 2: ");
System. out. println("f1 = " + f1);
System. out. println("f2 = " + f2);

if (f1.equals(f2))
System. out. println("f1 and f2 are equal");
else
System. out. println("f1 and f2 are not equal");

switch (input. charAt(0))
{
case '+':
f3 = f1.add(f2);
System. out. println("f1+f2=" + f3);
break;

case '-':
f3 = f1.subtract(f2);

System. out. println("f1-f2=" + f3);
break;

case '*':
f3 = f1.multiply(f2);
System. out. println("f1*f2="+f3);
break;

case '/':
f3 = f1.divide(f2);
System. out. println("f1/f2="+f3);
break;

default:
System. out. println("Illegal command: " + input );
break;

}
}// end of while loop
System. out. println("Bye");

} // end of main
}

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 22.06.2019 02:00
Alocal reaction will occur at the site of the exposure such as irritation or damage to the skin eye or local reaction will occur at the site of the exposure such as irritation or damage to the skin ireland lounges
Answers: 3
question
Computers and Technology, 22.06.2019 05:00
Modern businesses use different technologies to accomplish work tasks
Answers: 2
question
Computers and Technology, 22.06.2019 15:00
I'm taking a class on how to make a movie, and it offers some apps that would be in the process. the thing is, i don't have any of those ha. if you have any tips on some apps i could use, that would be awesome. i don't have an iphone, so don't suggest any apps like imovie. i know that this is a weird question, but it would be super for me. : )
Answers: 2
question
Computers and Technology, 22.06.2019 17:30
Which tab should you open to find the option for adding a header?
Answers: 1
You know the right answer?
Create a class called Fraction. Provide a constructor that takes 2 integers. Provide methods for:
Questions
question
Social Studies, 16.10.2020 03:01
question
History, 16.10.2020 03:01
Questions on the website: 13722360