Rss & SiteMap

课外天地 李树青 http://www.njcie.com

李树青 论坛 南京 财经 课外天地
共1 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:程序代码——基于面向对象编程方法的货币处理程序

1楼
admin 发表于:2008/11/8 22:39:36

import java.util.Locale;

interface ICurrency {
        public int getAmount();

        public void setAmount(int amount);

        public Locale getSign();

        public void setSign(Locale sign);

        public String toString();
}

abstract class Currency implements ICurrency {
        private int amount;

        private Locale sign;

        public Currency() {

        }

        public Currency(Locale sign, int amount) {
                setSign(sign);
                setAmount(amount);

        }

        public int getAmount() {
                return amount;
        }

        public void setAmount(int amount) {
                this.amount = amount;
        }

        public Locale getSign() {
                return sign;
        }

        public void setSign(Locale sign) {
                this.sign = sign;
        }

        public String toString() {
                java.text.DecimalFormat nf = new java.text.DecimalFormat("¤.0000");
                nf.setCurrency(java.util.Currency.getInstance(sign));
                return nf.format(amount);
        }
}

class Dollar extends Currency {
        public Dollar() {
                setSign(Locale.US);
        }

        public Dollar(int amount) {
                super(Locale.US, amount);
        }
}


class France extends Currency{
        public France() {
                setSign(Locale.FRANCE);
        }

        public France(int amount) {
                super(Locale.FRANCE, amount);
        }
}

class Yuan extends Currency {
        public Yuan() {
                setSign(Locale.CHINA);
        }

        public Yuan(int amount) {
                super(Locale.CHINA, amount);
        }
}

class Transaction {
        public void process(Currency yuan) {
                System.out.println(yuan);
        }
}

public class Exec {
        public static void main(String args[]) {
                Transaction trans = new Transaction();

                trans.process(new France(1234));

        }
}

[此贴子已经被作者于2010-12-12 08:28:44编辑过]
共1 条记录, 每页显示 10 条, 页签: [1]

Copyright ©2002 - 2016 课外天地.Net
Powered By Dvbbs Version 8.3.0
Processed in .03223 s, 2 queries.