zoukankan      html  css  js  c++  java
  • 2018-2019-20175302实验二《Java面向对象程序设计》实验报告

    2018-2019-20175302实验二《Java面向对象程序设计》实验报告

    一、实验步骤及内容

    内容一:

    参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST
    参考http://www.cnblogs.com/rocedu/p/6736847.html
    提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号。

    单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如Java里单元指一个类。要进行单元测试首先要在IDEA中安装JUnit插件,配置Junit.jar包文件,配置完成后使用JUnit测试代码运行情况。
    优点:JUnit Test测试可以测试多种情况,包括容易出错的边界情况,看程序是否按照自己设计的初衷来运行。
    缺点:编译代码需要时间,无法看出代码中的具体错误,可与Debug配合使用。

    内容二:

    参考 积极主动敲代码,使用JUnit学习Java (http://www.cnblogs.com/rocedu/p/4837092.html)
    参考http://www.cnblogs.com/rocedu/p/6736847.html
    以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试通过的截图,截图要加上学号水印。
    对代码

    public class exp2_2 {
        public static StringBuffer buffer =new StringBuffer();
        public static void percentage2fivegrade(){
            buffer.append('S');
            buffer.append("tringBuffer");
            buffer.append(1);
        }
    }
    

    进行测试:

    内容三:

    参考http://www.cnblogs.com/rocedu/p/6736847.html

    对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
    用自己的学号%6进行取余运算,根据结果进行代码扩充:
    0: 让系统支持Byte类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    1: 让系统支持Short类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    2: 让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    3: 让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    4: 让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
    5: 让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印

    (中间出现了一些对题目理解失误。。)

    public class exp2_3 {
        public static void main(String []args) {
            int p=20175302;
            Int aInt =new Int();
            Byte aByte = new Byte();
            Short aShort = new Short();
            Boolean aBoolean = new Boolean();
            Long aLong = new Long();
            Float aFloat = new Float();
            Double aDouble = new Double();
            aInt.PrintValue(p);
            aByte.PrintValue(p);
            aShort.PrintValue(p);
            aBoolean.PrintValue(p);
            aLong.PrintValue(p);
            aFloat.PrintValue(p);
            aDouble.PrintValue(p);
        }
    }
    

    内容四

    提交:单元测试代码和运行成功截图及码云上代码链接,截图要加上学号水印
    参考http://www.cnblogs.com/rocedu/p/6736847.html
    任务:以TDD的方式开发一个复数类Complex,要求如下:
    // 定义属性并生成getter,setter double RealPart; double ImagePart;
    // 定义构造函数 public Complex() public Complex(double R,double I)
    //Override Object public boolean equals(Object obj) public String toString()
    // 定义公有方法:加减乘除 Complex ComplexAdd(Complex a) Complex ComplexSub(Complex a) Complex ComplexMulti(Complex a) Complex ComplexDiv(Complex a)

    package exp2.Complex;
    /**
     * @author ASUS
     */
    public class complex {
        // 定义属性并生成getter,setter
        double realPart;
        double imagePart;
        void setRealPart(double r){
            realPart =r;
        }
        void setImagePart(double i){
            imagePart =i;
        }
        double getRealPart(complex a){
            return a.realPart;
        }
        double getImagePart(complex a){
            return a.imagePart;
        }
        // 定义构造函数
        public complex(double r, double i){
            realPart =r;
            imagePart =i;
        }
    
        //Override Object
    
        @Override
        public String toString(){
            String result = new String();
            if (imagePart >0) {
                result = realPart +"+"+ imagePart +"i";
            }
            if (imagePart ==0) {
                result = realPart +"";
            }
            if (imagePart <0) {
                result = realPart +"-"+ imagePart *(-1)+"i";
            }
            return result;
        }
    
    
        public complex complexAdd(complex a){
            return new complex(realPart +a.realPart, imagePart +a.imagePart);
        }
    
        public complex complexSub(complex a){
            return new complex(realPart -a.realPart, imagePart -a.imagePart);
        }
    
        public complex complexMulti(complex a){
            return new complex(realPart *a.realPart - imagePart *a.imagePart, realPart *a.imagePart + imagePart *a.realPart);
        }
    
        public complex complexDiv(complex a){
            double d = Math.sqrt(a.realPart * a.realPart) + Math.sqrt(a.imagePart * a.imagePart);
            return new complex((realPart *a.realPart + imagePart *a.imagePart)/d,(imagePart *a.realPart - realPart *a.imagePart)/d);
        }
    }
    

    测试代码:

    package exp2.Complex;
    
    import junit.framework.TestCase;
    
    public class ComplexDemoTest extends TestCase {
        complex b = new complex(2,6);
        complex c = new complex(1,-3);
        public void testComplexAdd(){
            assertEquals("3.0+3.0i",b.complexAdd(c)+"");
        }
        public void testComplexSub(){
            assertEquals("1.0+9.0i",b.complexSub(c)+"");
        }
        public void testComplexMulti(){
            assertEquals("20.0",b.complexMulti(c)+"");
        }
        public void testComplexDiv(){
            assertEquals("-4.0+3.0i",b.complexDiv(c)+"");
        }
    }
    
    


    测试成功

    内容五:

    使用WhiteStarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
    参考http://www.cnblogs.com/rocedu/p/6736847.html

  • 相关阅读:
    视频质量评测标准——VMAF
    净化网络环境!可信数字内容版权服务解决方案发布
    如何用sysbench做好IO性能测试
    云栖专辑|阿里开发者们的第二个感悟:PG大V德哥的使命感与开放心态
    CRI 与 ShimV2:一种 Kubernetes 集成容器运行时的新思路
    阿里巴巴持续投入,etcd 正式加入 CNCF
    阿里系统软件迎战“双11”超高流量峰值全纪录
    从SQL Server CloudDBA 看云数据库智能化
    ls -l 权限后面有个点
    Error File: /admin/app/template.app.php at 285 line.
  • 原文地址:https://www.cnblogs.com/Jerrold-Y/p/10746594.html
Copyright © 2011-2022 走看看