实验二 面向对象程序设计-1

答案截图

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

码云代码链接

链接1

实验遇到的问题和解决过程

  • 问题1:在plugins里搜索不到JUnitGenerator V2.0只能搜到Generste Teats
  • 问题1解决方案(软件安装):

    不明觉厉的我在一番瞎点之后……

    2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

标记处不大懂是啥含义

以下是老师教程的图,圈圈处与我的不同,疑惑。

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

后来我搜到一篇博客:

Intellj idea安装JUnit

file-Settings-Plugins-Browse repositories-HTTP Proxy Settings将No proxy改成Auto-detect proxy settings

于是可以搜到JUnitGenerator V2.0

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

然后点了下载,但是出现了一个警告框,内含网址,但是还没看懂是啥意思,打算截图再研究,picpick出问题截图丢失。然后手抽多点了几次下载……关掉再打开,!2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

我想有uninstall的选项,应该是下好了吧

  • 问题2:2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

  • 问题2解决方案:添加了

import week9.MyUtil;

之后

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

点击第一个 则会去掉"public"可以运行成功

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

点击其他两个都可以运行成功

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

均会使(画圈处)MyUtilTest.java变成MyUtilTest

如果我手动去掉public,MyUtilTest.java名字不会改变,但是依旧可以运行成功。

问题3:将教程往后翻,按照下图这种方式创建

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

然后我的:

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

出错的频率真是感人

问题3解决方案:

在idea里连按两次Shift出现everything搜索框(之前已经下好了everthing)

但是,更加感人的是:我没有junit.jar

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

我想,可能是已结安好了但安的是4,于是点了“Add 'JUnit4'to classpath”然后就不报错了。

我当时猜测,按照命名的习惯,可能Junit4是Junit3的升级版。搜到了以下资料:

Junit 学习之路一 junit3与junit4的区别

Junit3和Junit4对比及Junit介绍

看了资料后我觉得Junit4更好用啊,于是坦然接受了Junit4

此时我点了运行,但是悄悄说一句,它测试的MyUtilTest02Test我还没放任何东西

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

然后我只好暗暗把程序放上去,运行之后是这个结果

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

问题4:平时:idea里灰色的下划线的含义

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

问题4解决方案:根据去除IDEA报黄色/灰色的重复代码的下划波浪线所说是为了提示开发人员代码有重复

所以我在圈圈处加了个等号,灰色下划波浪线消失了.

问题5:@Test是什么意思

问题5的解决方案:

@Test注解是JUnit测试的基础,它提供了其他作用

1.指定将会抛出的异常类型,如果没有抛出异常或者抛出的一场不属于我们指定的类型,就会算是测试失败了。

2.测试一断代码运行时间。

java中@Test的作用

实验二 面向对象程序设计-2

答案截图

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

码云代码链接

链接2

实验遇到的问题和解决过程

  • 问题6:实验

    append()

  • 问题6解决方案:

    append() 方法在被选元素的结尾(仍然在内部)插入指定内容。

  • 问题7:实验

    indexOf()

  • 问题7解决方案:

    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。indexOf() 方法对大小写敏感!

    如果要检索的字符串值没有出现,则该方法返回 -1。

    JavaScript indexOf()方法

  • 问题8:capacity()

  • 问题8解决方案:capacity()目前的最大容量

  • 问题9:2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

    变红

  • 问题9解决方案:将定义放到方法内。

  • 问题10:2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

  • 问题10解决方案

    将buffer设为static

  • 问题11:

    验证indexOf()数组编号从几开始

  • 问题11解决方式:

    在测试类中故意测试为从“1”开始

    2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

结果证明从0开始

实验二 面向对象程序设计-3

答案截图

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

码云代码链接

链接3

实验遇到的问题和解决过程

这部分掌握得不大好(Yue deng yu sha ye bu hui),幸亏有竞予大佬和佳佳大佬的耐心讲解。

实验二 面向对象程序设计-4

答案截图

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

码云代码链接

产品代码

测试代码

实验遇到的问题和解决过程

  • 问题12:右下角只有一个测试类

    2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

  • 问题12解决方案:在测试各方法的时候只加了一个@Test,在各个用例前分别加上就好。

  • 问题13:

    测试用例个别情况赋值不成功2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

  • 问题13解决方案:Debug2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

    发现从c1到c3都是-5+2i,也就是赋值不成功,换了数也是这样,不接受我给它赋的值

    2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

    实在是不明觉厉,于是去抱了佳佳大佬的大腿

    有以下问题浮出水面:

    1.之前我的测试代码是assertEquals(new Complex(1.0,1.0), Complex.ComplexDiv(new Complex(1.0,2.0)));

    相当于断言括号左部分新构造了一个新Complex,所以不会报错,但这种方式是错的。

    2.之前因为报错,public static Complex ComplexAdd(Complex a)后来去掉了static。

    3.之前的代码我以为只能实现自相加自相乘之类的,为了弥补内心的遗憾,后来还用两个参数做了两数相减,但其实这是我写C的习惯没转过弯。经过大佬的提点才“(@ο@) 哇~”一直前段时间弄方法的时候总觉得怪怪的不得要领,原来我的点在这。

  • 问题14:边缘测试失败!2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

  • 问题14解决方案:添加红框处代码

    2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

实验二 面向对象程序设计-5

答案截图

2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告-LMLPHP

实验遇到的问题和解决过程

  • 问题15:下载startUML软件两次,360都会提示警告信息……弱弱的我表示不明觉厉,用局部杀毒之后虽然没问题但是还是弱弱地删.掉.了。
  • 问题15解决方案:开始观察得不仔细,没认识到教程的最后,二维码上面的“工具”点开就是下载链接。佳佳大佬告诉我的嘻嘻。

学习使用startUML软件时搜到的教程链接

starUML使用教程

使用StarUML创建类图

如果想要更加详细地学习UML,老师在班课上发了资源UML for Java Programmers.CN.pdf

需求分析90min18
设计90min18
代码实现180min36
测试20min4
分析总结120min24
05-11 18:21
查看更多