جاوا-مخلوط .... - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

جاوا-مخلوط .... [بسته شد]

0 امتیاز

دوتا کلاس داریم به نام های کلاس کسر و کلاس مخلوط

چطوری میتونیم متدی بنویسیم که یک کسر را به عنوان ورودی بگیرد وبا عدد مخلوط جاری جمع کند؟
چطوری میتونیم متدی بنویسیم که یک عدد مخلوط بگیرد وبا عدد مخلوط جلری جمع کند؟

public class Kasr {
	private int soorat;
	private int makhraj;

	public Kasr(int soorat, int makhraj) {
		this(soorat);
		this.makhraj = makhraj;
	}

	public Kasr() {
		this.makhraj = 1;
	}

	public Kasr(int soorat) {
		this();
		this.soorat = soorat;
	}

	public Kasr(Kasr kasr) {
		this.soorat = kasr.soorat;
		this.makhraj = kasr.makhraj;
	}

	public void setSoorat(int s) {
		soorat = s;
	}

	public void setMakhraj(int m) {
		if (m != 0)
			makhraj = m;
		else
			makhraj = 1;
	}

	public int getSoorat() {
		return soorat;
	}

	public int getMakhraj() {
		return makhraj;
	}

	private void inverse() {
		int t = soorat;
		soorat = makhraj;
		makhraj = t;
	}

	protected float evaluate() {
		return (float) soorat / makhraj;
	}

	Kasr multiply(int x) {
		Kasr javab = new Kasr();
		javab.soorat = this.soorat * x;
		javab.makhraj = this.makhraj;
		return javab;
	}

	void multiply(Kasr x) {
		this.soorat *= x.soorat;
		this.makhraj *= x.makhraj;
	}

	void add(int x) {
		// ...
	}

	/*
	 * void add(Kasr k2) { this.soorat = this.soorat * k2.makhraj + this.makhraj
	 * * k2.soorat; this.makhraj *= k2.makhraj; }
	 */

	Kasr add(Kasr k2) {
		Kasr javab = new Kasr();
		javab.soorat = this.soorat * k2.makhraj + this.makhraj * k2.soorat;
		javab.makhraj = this.makhraj * k2.makhraj;
		return javab;
	}

	void print() {
		System.out.println(soorat + "/" + makhraj);
	}

}
public class Makhloot {
	private int sahih;
	private Kasr k;
	
	public Makhloot(int sahih, Kasr k) {
		this.sahih = sahih;
		this.k = new Kasr (k);
	}
	
	public Makhloot(int soorat) {
		this.k = new Kasr (soorat);
	}
	
	public Makhloot(int sahih, int soorat, int makhraj) {
		this.sahih = sahih;
		this.k = new Kasr(soorat, makhraj);
	}
	
	//constructor copy
	public Makhloot(Makhloot v2, int sahih) {
		this.k=v2.k;
		this.sahih=sahih;
	}
	

	public void multiply(Kasr kasr){
		this.k.multiply(kasr);
		Kasr temp = k.multiply(sahih);
		Kasr temp2 = k.add(temp);
		this.convert(temp2);
	}
	
	public void convert(Kasr obj){
		this.sahih = obj.getSoorat() / obj.getMakhraj();
		int s = obj.getSoorat() % obj.getMakhraj();
		this.k =  new Kasr(s, obj.getMakhraj());
	}
	
	void print() {
		System.out.println(sahih+"."+k);
	}
	void add(int v1) {
		this.sahih+=v1;
		this.k=this.k;
	}
	
	
	
	
}

 

بسته شد با پیغام: یاد گرفتم
سوال شده فروردین 15, 1393  بوسیله ی Morteza123 (امتیاز 26)   1 4 7
بسته شد فروردین 15, 1393 بوسیله ی Morteza123
...