以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  Java程序语言课件  (http://www.njcie.com/bbs/list.asp?boardid=17)
----  [推荐]Java授课视频第六课:面向对象——封装之二  (http://www.njcie.com/bbs/dispbbs.asp?boardid=17&id=1016)

--  作者:admin
--  发布时间:2011/3/27 14:29:24
--  [推荐]Java授课视频第六课:面向对象——封装之二
媒体文件信息
文件来源:http://www.njcie.com/JavaSE/files/第六课:面向对象封装之二.wmv
您可以点击控件上的播放按钮在线播放。注意,播放此媒体文件存在一些风险。
附加说明:动网论坛系统禁止了该文件的自动播放功能。
由于该用户没有发表自动播放多媒体文件的权限或者该版面被设置成不支持多媒体播放。

--  作者:admin
--  发布时间:2011/3/27 14:31:33
--  带有增加秒数功能的时钟类

class Clock {
        private int hour;
        private int minute;
        private int second;

        public Clock() {
        }

        public Clock(int h, int m, int s) {
                setTime(h, m, s);
        }

        public int getHour() {
                return hour;
        }

        public void setHour(int hour) {
                if (hour >= 0 && hour <= 23)
                        this.hour = hour;
                else if (hour > 0)
                        this.hour = hour % 24;
                else
                        this.hour = 0;
        }

        public int getMinute() {
                return minute;
        }

        public void setMinute(int minute) {
                if (minute >= 0 && minute <= 59)
                        this.minute = minute;
                else
                        this.minute = minute % 60;
        }

        public int getSecond() {
                return second;
        }

        public void setSecond(int second) {
                if (second >= 0 && second <= 59)
                        this.second = second;
                else
                        this.second = second % 60;
        }

        public void setTime(int h, int m, int s) {
                setHour(h);
                setMinute(m);
                setSecond(s);
        }

        public String toString() {
                java.text.DecimalFormat df = new java.text.DecimalFormat("00");
                return df.format(hour) + "小时" + df.format(minute) + "分钟"
                                + df.format(second) + "秒";
        }

        public void addSecond(int s) {
                second = second + s;
                if (second >= 60) {
                        minute = minute + second / 60;
                        second = second % 60;
                }
                if (minute >= 60) {
                        hour = hour + minute / 60;
                        minute = minute % 60;
                }
                if (hour >= 23) {
                        hour = hour % 24;
                }
        }
}

public class Exec {
        public static void main(String[] args) {
                Clock beijing = new Clock(12, 23, 45);
                beijing.addSecond(21);
                System.out.println(beijing);
        }
}


--  作者:admin
--  发布时间:2011/3/27 14:32:32
--  带有相加和约分功能的分数类

class FS {
        private int fz = 1;
        private int fm = 1;

        public FS() {
        }

        public FS(double d) {
                int decimalCount = 1;
                int dLen = String.valueOf(d).length();
                for (int i = 0; i < dLen; i++) {
                        d = d * 10;
                        decimalCount *= 10;
                }
                fz = (int) d;
                fm = decimalCount;
                yf();
        }

        public FS(int fz, int fm) {
                setFS(fz, fm);
        }

        public int getFz() {
                return fz;
        }

        public void setFz(int fz) {
                this.fz = fz;
        }

        public int getFm() {
                return fm;
        }

        public void setFm(int fm) {
                if (fm != 0)
                        this.fm = fm;
                else
                        fm = 1;
        }

        public void setFS(int fz, int fm) {
                setFz(fz);
                setFm(fm);
        }

        public String toString() {
                return fz + "/" + fm;
        }

        public FS plus(FS fs) {
                FS result = new FS();
                result.setFz(fz * fs.fm + fs.fz * fm);
                result.setFm(fm * fs.fm);
                result.yf();
                return result;
        }

        public void yf() {
                int minValue = Math.min(Math.abs(fz), Math.abs(fm));
                for (int i = minValue; i >= 1; i--) {
                        if (fz % i == 0 && fm % i == 0) {
                                fz = fz / i;
                                fm = fm / i;
                                break;
                        }
                }
        }
}

public class Exec {
        public static void main(String[] args) {
                FS fs1 = new FS(0.5);
                FS fs2 = new FS(3, 5);
                FS fs3 = fs1.plus(fs2);
                System.out.println(fs3);
        }
}