软件外包集训大作业

java部分

gitee链接:https://gitee.com/cai-nijian/data-structure

(一).设计思路

1.这次我选择用java封装了一个数组类型的数据结构。为了代码的鲁棒性,我选择通过泛型的方式来构造。其中对于不合理的用户输入采用了异常处理。

2.在构造中我先是定义数组变量和计算已存在数据大小的函数。并通过有参构造和无参构造先行构造出数组。

3.通过自定义数组我主要实现了增删改查功能的实现。

  • Insert:在传入的数组下标位置处增加数据(传入不合理会报异常)
  • InsertLast:在数组尾部插入
  • InsertFirst:在数组头插入
  • delete:删除传入的数组下标处的数据,并返回数据(删除位置无数据会报异常)
  • deleteLast:从数组尾部删除
  • deletFirst:从数组头删除
  • update:修改更新数据(修改位置信息不存在会报异常)
  • selectAll:查询全部数据,数组中无记录时输出“数组中暂时无数据“
  • select:根据给出条件查找数组,返回数组下标,没有则返回-1
  • selectLocation:根据用户给出的下标查找元素

(二)代码实现的遇难与解决

困难:我一开始采用的是设计int类型的数组,通过继承方式来构造方法。但是我发现对数据的类型锁的太死了,没有太大的可移植性,而且无法处理那种有多个数据类型的数组。

解决思路:我通过查询发现泛型可完美解决问题。由于不会泛型,通过在b站上自主学习和csdn上自学的方式,成功的搞懂了泛型的使用规范。并且构造了一个测试类,一步步测试数据,在出错中理解这个技巧。

困难:当我构造方法时发现,我对于用户传入方法内的数据没有做出规范,很容易造成位置在数组中不存在的情况出现。

解决思路:通过异常来处理。查询异常的知识后构造异常来解决这些不合法输入。

(三)心得体会

代码的学习的确是个不断自我学习的过程。b站和csdn是学习的不二伙伴,可以说是我在b站上大学。还有就是代码需要不断去调试,所以测试类一定不能少,要尽量做到完美。有了问题有了错误细细检查代码,很可能错的就是小问题,一步步测试,分块实现就一定能够成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值