日期:2014-05-20  浏览次数:20587 次

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 {