java实现两个分数相加的程序

奔跑的女孩 2013-03-28 09:23:26
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);
}

}
求高手帮忙改下程序,或给我一个完整的程序,用结构体实现两个分数的加减,万分感谢
...全文
872 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
小绵羊 2013-03-29
  • 打赏
  • 举报
回复
java中只有类
小绵羊 2013-03-29
  • 打赏
  • 举报
回复
引用 2 楼 cxl858365238 的回复:
引用 1 楼 x19881216 的回复:Java code?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465public class Fraction { private ……
java没有结构体
奔跑的女孩 2013-03-28
  • 打赏
  • 举报
回复
引用 1 楼 x19881216 的回复:
Java code?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465public class Fraction { private int numerator; pri……
可以使用结构体的方法实现吗?
小绵羊 2013-03-28
  • 打赏
  • 举报
回复
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));
	}

}
只考虑了简单的通分,没有做有最大公约数的情况,而且计算后也没有约分,减法同理就不写了

50,503

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧