JAVA 6-2 分数类 编写一个分数类Fraction,该类包含两个int型参数表示分子与分母。 同时,该类包含如下方法: (1)Fraction plus(Fraction r) 表示将自己的分数和r的分数相加,产生一个新的Fraction的对象。 (2)void print() 表示将其按照“分子/分母”的形式输出。注意:若存在可以化简的情况需要化简后输出,即2/4应该被化简为1/2再输出,若结果为1/1,则输出1。 注意:暂不考虑分母为0的情况。
时间: 2024-02-17 21:02:04 浏览: 234
光学图像加密与多参数加权类分数傅里叶变换
好的,根据您的要求,下面是一个Java的Fraction类的例子,它包括两个私有的numerator和denominator数据成员,以及一个plus方法和一个print方法:
```java
class Fraction {
private int numerator;
private int denominator;
public Fraction(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
public Fraction plus(Fraction r) {
int newNumerator = this.numerator * r.denominator + this.denominator * r.numerator;
int newDenominator = this.denominator * r.denominator;
return new Fraction(newNumerator, newDenominator);
}
public void print() {
int gcd = getGcd(this.numerator, this.denominator);
int newNumerator = this.numerator / gcd;
int newDenominator = this.denominator / gcd;
if (newDenominator == 1) {
System.out.println(newNumerator);
} else {
System.out.println(newNumerator + "/" + newDenominator);
}
}
private int getGcd(int a, int b) {
if (b == 0) {
return a;
} else {
return getGcd(b, a % b);
}
}
}
```
在这个例子中,我们使用了Java中的类和访问修饰符,将numerator和denominator定义为私有数据成员。我们提供了一个构造函数,用于初始化对象的数据成员。我们还提供了一个plus方法,用于将自己的分数和另一个分数相加。最后,我们提供了一个print方法,用于按照“分子/分母”的形式输出分数,并进行化简。
在print方法中,我们使用了一个getGcd方法,用于求分子和分母的最大公约数,以便进行化简。如果分母可以化简为1,则只输出分子。否则,输出“分子/分母”的形式。
希望这个例子能够帮助您完成Java的Fraction类的设计。
阅读全文