实验二 面向对象程序设计-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
答案截图
码云代码链接
实验遇到的问题和解决过程
- 问题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
答案截图
码云代码链接
实验遇到的问题和解决过程
这部分掌握得不大好(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软件时搜到的教程链接
如果想要更加详细地学习UML,老师在班课上发了资源UML for Java Programmers.CN.pdf
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 90min | 18 |
设计 | 90min | 18 |
代码实现 | 180min | 36 |
测试 | 20min | 4 |
分析总结 | 120min | 24 |