20182324 2019-2020-1 《数据结构与面向对象程序设计》实验7报告
课程:《程序设计与数据结构》
班级: 1823
姓名: 殷宇豪
学号: 20182324
实验教师:王志强
实验日期:2019年10月30日
必修/选修: 必修
1.实验内容
1.定义一个 Searching 和 Sorting 类,并在类中实现 linearSearch , SelectionSort 方法,最后完成测试。
要求不少于 10 个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用例数据中要包含自己学号的后四位
提交运行结果图。2.重构你的代码
把 Sorting.java Searching.java 放入 cn.edu.besti.cs1823.(姓名首字母+四位学号) 包中(例如:cn.edu.besti.cs1823.G2301)
把测试代码放 test 包中
重新编译,运行代码,提交编译,运行的截图(IDEA,命令行两种)3.参考 http://www.cnblogs.com/maybe2030/p/4715035.html ,学习各种查找算法并在 Searching 中补充查找算法并测试
提交运行结果截图4.补充实现课上讲过的排序方法:希尔排序,堆排序,二叉树排序等(至少 3 个)
测试实现的算法(正常,异常,边界)
提交运行结果截图(如果编写多个排序算法,即使其中三个排序程序有瑕疵,也可以酌情得满分)5.编写 Android 程序对实现各种查找与排序算法进行测试
提交运行结果截图
推送代码到码云(选做,加分)
2. 实验过程及结果
(1)定义一个 Searching 和 Sorting ,并在类中实现 linearSearch , SelectionSort 方法,最后完成测试。
(2)重构代码,把 Sorting.java Searching.java 放入 cn.edu.besti.cs1823.(姓名首字母+四位学号)
IDEA:
命令行:
(3)学习各种查找算法并在 Searching 中补充查找算法并测试
(4)补充实现课上讲过的排序方法:希尔排序,堆排序,二叉树排序等
(5)选做未做
3. 实验过程中遇到的问题和解决过程
- 问题1:Android Studio 编译时报错“ cannot resolve symbol textView ”
问题1解决方案:在 MainActivity.java 中引用了 id 为 textView 的文本框,但 activity_main.xml 中并未定义该控件 id 。在 xml 文件的 TextView 下添加
android:id="@+id/textView"
参考 Android Studio cannot resolve symbol textView- 问题2:泛型 T 不能传入 int 类型的参数。
问题2解决方案:泛型类的类型不能是基本数据类型,可将变量从 int 型 改为 Integer 。可参考 为什么泛型类的类型不能是基本数据类型和 Java 面试题之 int 和 Integer 的区别
- 问题3:Android Studio 设置的控件编译运行后全部堆在界面的左上角,设置各种属性也没用。
问题3解决方案:在 Android Studio 中 activity_main.xml 的布局属性默认为约束布局 ConstraintLayout ,这种布局的一个特点就是如果不添加任何约束条件,不论预览界面拖到什么地方,设置了什么属性,最终运行控件始终都出现在程序的左上角。可参考 最全面的ConstraintLayout教程 设置一定的约束条件,或将布局属性设置为其它的布局类型,如相对布局 RelativeLayout,线性布局 LinearLayout。
其他(感悟、思考等)
IDE 与 Android 的结合,感觉 Android 可以利用多种控件使 Java 的表现形式更加多样,在 Android 上运行摆脱了 Windows 的限制,并且更加符合手机的使用习惯。