以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  Java程序语言课件  (http://www.njcie.com/bbs/list.asp?boardid=17)
----  程序代码——支持加减乘除的分数类  (http://www.njcie.com/bbs/dispbbs.asp?boardid=17&id=695)

--  作者:admin
--  发布时间:2009/4/10 9:47:10
--  程序代码——支持加减乘除的分数类

class Fraction {
        private long numerator;
        private long denominator;

        public Fraction() {
        }

        public Fraction(long n, long d) {
                setFraction(n, d);
        }

        public void setNumerator(long n) {
                numerator = n;
        }

        public long getNumerator() {
                return numerator;
        }

        public void setDenominator(long d) {
                if (d == 0)
                        denominator = 1;
                else
                        denominator = d;
        }

        public long getDenominator() {
                return denominator;
        }

        public void setFraction(long n, long d) {
                setNumerator(n);
                setDenominator(d);
        }

        public String toString() {
                return numerator + "/" + denominator;
        }

        public Fraction plus(Fraction f) {
                Fraction result = new Fraction();
                result.numerator = this.numerator * f.denominator + this.denominator
                                * f.numerator;
                result.denominator = this.denominator * f.denominator;
                return result;
        }

        public Fraction minus(Fraction f) {
                Fraction result = new Fraction();
                result.numerator = this.numerator * f.denominator - this.denominator
                                * f.numerator;
                result.denominator = this.denominator * f.denominator;
                return result;
        }

        public Fraction multiply(Fraction f) {
                Fraction result = new Fraction();
                result.numerator = this.numerator * f.numerator;
                result.denominator = this.denominator * f.denominator;
                return result;
        }

        public Fraction divide(Fraction f) {
                Fraction result = new Fraction();
                result.numerator = this.numerator * f.denominator;
                result.denominator = this.denominator * f.numerator;
                return result;
        }
}

public class Exec {
        public static void main(String[] args) {
                Fraction f1 = new Fraction(2, 3);
                Fraction f2 = new Fraction(1, 5);
                Fraction f3 = f1.plus(f2);
                System.out.println(f3);
                f3=f1.minus(f2);
                System.out.println(f3);
                f3=f1.multiply(f2);
                System.out.println(f3);
                f3=f1.divide(f2);
                System.out.println(f3);
        }
}

[此贴子已经被作者于2010-12-12 08:30:16编辑过]