java实现两个分数相加的程序
class Fraction
{
private int fenzi1;
private int fenmu1;
private int fenzi2;
private int fenmu2;
}
public Fraction(int fenzi1,int fenmu1,int fenzi2,int fenmu2)
{
this.fenzi1 = fenzi1;
this.fenzi1 = fenzi1;
this.fenzi2 = fenzi2;
this.fenzi2 = fenzi2;
}
public void Fraction add(int fenzi1,int fenmu1,int fenzi2,int fenmu2)
{Fraction.fenzi1 = this.fenzi1 + fenzi1;
Fraction.fenmu1 = this.fenmu1 + fenmu1;
Fraction.fenzi2 = this.fenzi2 + fenzi2;
Fraction.fenmu2 = this.fenmu2 + fenmu2;
return ;
}
public void display(int fenzi1,int fenmu1,int fenzi2,int fenmu2)
System.out.println(fenzi1+"/"+fenmu1"+"+ fenzi2= "+"/" + fenmu2=);
return;
class Xunlian
{
public static void main(String[] args);
{
Fraction fenshu1 = new Fraction (3,4);
public void Fraction add(int fenzi,int fenmu)
public display(int fenzi,int fenmu);
}
}
求高手帮忙改下程序,或给我一个完整的程序,用结构体实现两个分数的加减,万分感谢
[解决办法]
public class Fraction {
private int numerator;
private int denominator;
public Fraction(int numerator, int denominator) {
this.numerator = numerator;
this.denominator = denominator;
}
public int getNumerator() {
return numerator;
}
public void setNumerator(int numerator) {
this.numerator = numerator;
}
public int getDenominator() {
return denominator;
}
public void setDenominator(int denominator) {
this.denominator = denominator;
}
public Fraction add(Fraction summand) {
if (this.denominator % summand.getDenominator() == 0) {
summand.setNumerator(summand.getNumerator() * (this.denominator / summand.getDenominator()));
summand.setDenominator(this.denominator);
} else if (summand.getDenominator() % this.denominator == 0) {
this.setNumerator(summand.numerator * (summand.getDenominator() / this.denominator));
this.setDenominator(summand.denominator);
} else {
int tmp = this.denominator;
this.setDenominator(this.denominator * summand.getDenominator());
this.setNumerator(this.numerator * summand.getDenominator());
summand.setDenominator(tmp * summand.getDenominator());
summand.setNumerator(tmp * summand.getNumerator());
}
return new Fraction(this.numerator + summand.getNumerator(), this.denominator);
}
@Override
public String toString() {
if (this.numerator % this.denominator == 0) {
return "" + this.numerator / this.denominator;
} else if (this.denominator % this.numerator == 0) {
return 1 + "/" + this.denominator / this.numerator;
} else {
return this.numerator + "/" + this.denominator;
}
}
public static void main(String[] args) {
Fraction a = new Fraction(9, 12);
Fraction b = new Fraction(7, 12);
System.out.println(a.add(b));
}
}