• 20155218 《Java程序设计》实验二(Java面向对象程序设计)实验报告


    20155218 《Java程序设计》实验二(Java面向对象程序设计)实验报告

    一、实验内容及步骤

    (一)单元测试

    主要学习安装和使用junit来测试编写的程序,并学习以TDD(Test Driven Devlopment,测试驱动开发)方式来编写程序。

    (二)面向对象三要素

    • 要求:使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。

    (三)设计模式初步

    • 要求:对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式。让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印。

    二、实验练习:使用TDD的方式设计关实现复数类Complex

    产品代码:

    public class Complex{
        private double r;
        private double i;
    
        public Complex(double r, double i) {
            this.r = r;
            this.i = i;
        }
    
        public static double getRealPart(double r) {
            return r;
        }
    
        public static double getImagePart(double i) {
            return i;
        }
    
        public Complex Add(Complex c) {
            return new Complex(r + c.r, i + c.i);
        }
        public Complex Sub(Complex c) {
            return new Complex(r - c.r, i - c.i);
        }
        public Complex Multi(Complex c) {
            return new Complex(r * c.r - i * c.i, r * c.i + i * c.r);
        }
        public Complex Div(Complex c) {
            return new Complex((r * c.i + i * c.r)/(c.i * c.i + c.r * c.r), (i * c.i + r * c.r)/(c.i * c.i + c.r * c.r));
        }
    
        public String toString() {
            String s = " ";
            if (i > 0)
                s =  r + "+" + i + "i";
            if (i == 0)
                s =  r + "";
            if (i < 0)
                s = r + " " + i + "i";
            return s;
        }
    }
    

    测试代码:

    三、总结与分析

    (一)遇到的问题及解决方案:

    • 问题一:在file里找不到settings:
    • 解决方案:在蓝墨云提问后,郝博雅同学给了我一个解决的方法,在开始页面的configure设置里找到了plugins,再选其中的browse,就能设置了。
    • 问题二:在starUML里无法向windows系统下对java进行逆向工程,但在下载java插件中就可以了。

    (二)PSP

    步骤 耗时 百分比)
    需求分析 10min 11.11%
    设计 15min 16.66%
    代码实现 40min 44.44%
    测试 5min 5.55%
    分析总结 20min 22.22%
  • 相关阅读:
    《Effective C++》第8章 定制new和delete-读书笔记
    《TCP/IP详解卷1:协议》第3章 IP:网际协议(2)-读书笔记
    【剑指Offer】14合并两个排序的链表
    【剑指Offer】13反转链表
    【剑指Offer】12链表中倒数第k个结点
    【剑指Offer】11调整数组顺序使奇数位于偶数前面
    【剑指Offer】10数值的整数次方
    【剑指Offer】09二进制中1的个数
    【剑指Offer】08矩形覆盖
    【剑指Offer】07变态跳台阶
  • 原文地址:https://www.cnblogs.com/xzh1996/p/6753058.html
Copyright © 2020-2023  润新知