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

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

答案截图

1071478-20170422113254665-1530484395.png

码云代码链接

链接1

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

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

标记处不大懂是啥含义

以下是老师教程的图,圈圈处与我的不同,疑惑。
1071478-20170422113349477-1396927473.png

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

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

  • 问题2:1071478-20170422154420868-1763531257.png

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

import week9.MyUtil;

之后
1071478-20170422154425868-1714807380.png

点击第一个 则会去掉"public"可以运行成功
1071478-20170422154431399-445830855.png

点击其他两个都可以运行成功
1071478-20170422154436696-689660350.png

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

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

然后我的:
1071478-20170422154449118-109692564.png

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

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

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

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

然后我只好暗暗把程序放上去,运行之后是这个结果
1071478-20170422154709196-1110036848.png

问题4:平时:idea里灰色的下划线的含义
1071478-20170422154714962-1278255947.png

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

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

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

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

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

答案截图

1071478-20170422155737915-887212518.png

码云代码链接

链接2

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

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

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

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

  • 问题9:1071478-20170422154742977-1590406932.png
    变红
  • 问题9解决方案:将定义放到方法内。

  • 问题10:1071478-20170422154750962-1937108472.png

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

  • 问题11:
    验证indexOf()数组编号从几开始
  • 问题11解决方式:
    在测试类中故意测试为从“1”开始
    1071478-20170422154811243-971427401.png

1071478-20170422154815009-1908193452.png

结果证明从0开始

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

答案截图

1071478-20170422155719384-199569918.png

码云代码链接

链接3

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

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

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

答案截图

1071478-20170422155822087-4084790.png

码云代码链接

产品代码

测试代码

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

  • 问题12:右下角只有一个测试类
    1071478-20170422160342602-983959096.png

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

  • 问题13:
    测试用例个别情况赋值不成功1071478-20170422154911571-1502467359.png

1071478-20170422154915977-1716631743.png

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

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

  • 问题14解决方案:添加红框处代码
    1071478-20170422154954899-445564491.png

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

答案截图

1071478-20170422155831665-1930916900.png

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

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

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

starUML使用教程

使用StarUML创建类图

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

步骤耗时百分比
需求分析90min18
设计90min18
代码实现180min36
测试20min4
分析总结120min24

转载于:https://www.cnblogs.com/GDDFZ/p/6748062.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验内容: 1.和对象的定义和对象的定义和对象的定义和对象的定义,实现,实现,实现StudentStudentStudent成绩的基本员定义成绩的基本员定义成绩的基本员定义成绩的基本员定义成绩的基本员定义成绩的基本员定义;的基本函数功能的基本函数功能的基本函数功能的基本函数功能:学号的学号的提取,成绩的基本计算。提取,成绩的基本计算。提取,成绩的基本计算。提取,成绩的基本计算。提取,成绩的基本计算。 2.构造函数和析构造函数和析构造函数和析构造函数和析构造函数和析,实现对象自动初始化和释放,实现对象自动初始化和释放,实现对象自动初始化和释放,实现对象自动初始化和释放,实现对象自动初始化和释放,实现对象自动初始化和释放,实现对象自动初始化和释放; 3.静态成员静态成员,实现数据共享,实现数据共享,实现数据共享,实现数据共享,实现数据共享;静态成员函数功能静态成员函数功能静态成员函数功能静态成员函数功能静态成员函数功能:计算N个学生的某科成绩总分和平均个学生的某科成绩总分和平均个学生的某科成绩总分和平均个学生的某科成绩总分和平均个学生的某科成绩总分和平均个学生的某科成绩总分和平均个学生的某科成绩总分和平均分。 4.友元函数和友元函数和友元函数和友元函数和,实现非函数对私有据的访问功能,实现非函数对私有据的访问功能,实现非函数对私有据的访问功能,实现非函数对私有据的访问功能,实现非函数对私有据的访问功能,实现非函数对私有据的访问功能,实现非函数对私有据的访问功能,实现非函数对私有据的访问功能,实现非函数对私有据的访问功能;友元函数功能:计算任友元函数功能:计算任友元函数功能:计算任友元函数功能:计算任友元函数功能:计算任友元函数功能:计算任友元函数功能:计算任两个学生的某科成绩差。两个学生的某科成绩差。两个学生的某科成绩差。两个学生的某科成绩差。两个学生的某科成绩差。 5.友元,实现友元,实现友元,实现友元,实现友元,实现TeacherTeacherTeacher与StudentStudentStudent静态数据共享静态数据共享静态数据共享静态数据共享;友元函数功能:通过班号友元函数功能:通过班号友元函数功能:通过班号友元函数功能:通过班号友元函数功能:通过班号友元函数功能:通过班号提取某班科成绩总分和平均。提取某班科成绩总分和平均。提取某班科成绩总分和平均。提取某班科成绩总分和平均。提取某班科成绩总分和平均。提取某班科成绩总分和平均。提取某班科成绩总分和平均。 6.派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能派生,实现访问基保护成员的功能;派生函数功能:根据某个学总分派生函数功能:根据某个学总分派生函数功能:根据某个学总分派生函数功能:根据某个学总分派生函数功能:根据某个学总分派生函数功能:根据某个学总分派生函数功能:根据某个学总分派生函数功能:根据某个学总分派生函数功能:根据某个学总分计算等级。计算等级。 7.虚函数虚函数,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。,实现虚函数支持的动态联编;功能:为一等学生发放奖金。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值