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

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

答案截图

码云代码链接

链接1

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

  • 问题1:在plugins里搜索不到JUnitGenerator V2.0只能搜到Generste Teats
  • 问题1解决方案(软件安装):
    不明觉厉的我在一番瞎点之后……

标记处不大懂是啥含义

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

后来我搜到一篇博客:
Intellj idea安装JUnit
file-Settings-Plugins-Browse repositories-HTTP Proxy Settings将No proxy改成Auto-detect proxy settings
于是可以搜到JUnitGenerator V2.0

然后点了下载,但是出现了一个警告框,内含网址,但是还没看懂是啥意思,打算截图再研究,picpick出问题截图丢失。然后手抽多点了几次下载……关掉再打开,!
我想有uninstall的选项,应该是下好了吧

  • 问题2:

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

import week9.MyUtil;

之后

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

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

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

如果我手动去掉public,MyUtilTest.java名字不会改变,但是依旧可以运行成功。
问题3:将教程往后翻,按照下图这种方式创建

然后我的:

出错的频率真是感人
问题3解决方案:
在idea里连按两次Shift出现everything搜索框(之前已经下好了everthing)
但是,更加感人的是:我没有junit.jar

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

我当时猜测,按照命名的习惯,可能Junit4是Junit3的升级版。搜到了以下资料:
Junit 学习之路一 junit3与junit4的区别
Junit3和Junit4对比及Junit介绍
看了资料后我觉得Junit4更好用啊,于是坦然接受了Junit4

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

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

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

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

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

问题5:@Test是什么意思
问题5的解决方案:
@Test注解是JUnit测试的基础,它提供了其他作用

1.指定将会抛出的异常类型,如果没有抛出异常或者抛出的一场不属于我们指定的类型,就会算是测试失败了。
2.测试一断代码运行时间。
java中@Test的作用

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

答案截图

码云代码链接

链接2

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

  • 问题6:实验
    append()

  • 问题6解决方案:
    append() 方法在被选元素的结尾(仍然在内部)插入指定内容。

  • 问题7:实验
    indexOf()

  • 问题7解决方案:
    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。indexOf() 方法对大小写敏感!
    如果要检索的字符串值没有出现,则该方法返回 -1。
    JavaScript indexOf()方法

  • 问题8:capacity()

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

  • 问题9:
    变红

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

  • 问题10:

  • 问题10解决方案
    将buffer设为static

  • 问题11:
    验证indexOf()数组编号从几开始

  • 问题11解决方式:
    在测试类中故意测试为从“1”开始

结果证明从0开始

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

答案截图

码云代码链接

链接3

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

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

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

答案截图

码云代码链接

产品代码

测试代码

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

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

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

  • 问题13:
    测试用例个别情况赋值不成功

  • 问题13解决方案:Debug
    发现从c1到c3都是-5+2i,也就是赋值不成功,换了数也是这样,不接受我给它赋的值

    实在是不明觉厉,于是去抱了佳佳大佬的大腿
    有以下问题浮出水面:
    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:边缘测试失败!

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

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

答案截图

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

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

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

starUML使用教程

使用StarUML创建类图

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

步骤 耗时 百分比
需求分析 90min 18
设计 90min 18
代码实现 180min 36
测试 20min 4
分析总结 120min 24
原文地址:https://www.cnblogs.com/GDDFZ/p/6748062.html