삼성SDS_멀티캠퍼스/Java

9일 차 복소수의 분수계산

박성우기 2015. 9. 17. 14:47
반응형

class Fraction {

private int numerator;

private int denominator;

private static int add;


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;

}


@Override

public String toString() {

return "Fraction [numerator=" + numerator + ", denominator=" + denominator + "]";

}


public Fraction() {

this.numerator = 10;

this.denominator = 5;

}


public Fraction(int i, int j) {

this.numerator = i;

this.denominator = j;

}


public static Fraction add(Fraction num, Fraction den) {


int n1 = num.numerator;

int d1 = num.denominator;

int n2 = den.numerator;

int d2 = den.denominator;

int resultN = n1 * d2 + n2 * d1;

int resultN2 = d1 * d2;

return new Fraction(resultN, resultN2);

}


public Fraction reduction() {

// TODO Auto-generated method stub

int num2 = this.numerator;

int den2 = this.denominator;

int r = 0;

while (den2 != 0) {

r = num2 % den2;

num2 = den2;

den2 = r;

}

int ok = this.numerator / num2;

int ok2 = this.denominator / num2;


// this.numerator /= num2;

// this.denominator /= num2;


return new Fraction(ok, ok2);

}


}








public class Test6 {

public static void main(String[] args) {
// TODO Auto-generated method stub

Fraction fc = new Fraction(1, 2);
Fraction fc2 = new Fraction(25, 5);

Fraction fc3 = Fraction.add(fc, fc2);

Fraction fc4 = new Fraction();
fc4 = fc3.reduction();

System.out.println("분수 "+fc);
System.out.println("분수 "+fc2);
System.out.println("분수의 덧셈 "+fc3);
System.out.println();

System.out.println("약분하면 "+fc4);

}

}





reduction()은


4일 차 JAVA 유클리드 알고리즘으로 최대공약수 구하기 에 있는 공식을 이용했다.



  


반응형