题目描述
根据已经编写好的Fraction类及输出案例,
请编写Main类,建立两个分数对象的数组f,采用Scanner类的nextInt方法,依次输入两个分数的分子和分母,
处理可能的异常输入情形:分子或分母不是整数(输出:java.util.InputMismatchException),分母是零(输出:java.lang.ArithmeticException: / by zero)。
求出并打印:((f[0]-f[1])/f[1] + f[0] ) * f[1],然后对以上结果约分,约分后再打印。
class Fraction
{
int numerator;
int denominator;
int gcd(int m, int n)
{
int mod = m % n;
while(mod != 0)
{
m = n;
n = mod;
mod = m % n;
}
return n;
}
void print()
{
System.out.println(this.numerator + "/" + this.denominator);
}
void setFraction(int n, int d)
{
if(d == 0)
throw new ArithmeticException("/ by zero");
this.numerator = n;
this.denominator = d;
}
boolean equals(Fraction f)
{
return (this.denominator == f.denominator) &&