逻辑架构图
(
)
查找算法的应用情况及相关代码
- 数据结构包含:索引和查找、排序、栈、队列、树、堆、图。
- 我们小组抽到了查找和索引。
- CarChoosing的Searching方法体现了索引。
- 而我们小组用的是哈希索引。
-
private boolean Searching(String carName){ boolean judge = false; HashMap hashMap = new HashMap(); hashMap.put("Flash",R.drawable.car1play); hashMap.put("Lightening",R.drawable.car2play); hashMap.put("Flat",R.drawable.car4play); hashMap.put("Taxi",R.drawable.car3play); try { 哈希查找 CarID= (int) hashMap.get(carName); judge= true; }catch (Exception e){ Toast.makeText(this,"Can't find the car",Toast.LENGTH_SHORT).show(); } return judge; }
hashMap.put("Flash",R.drawable.car1play);
“Flash”为车辆的关键字,R.drawable.car1play为该车辆ID。- 当我们输入车辆名字时,系统会在我们创建的哈希表中查找该车辆并且返回车辆图片的ID。
- 我们用的查找方法是线性查找方法
- 体现在这段代码里:
-
public static int linearSearch(String[] data, String target){ boolean judge = false; int index =0; while (index < data.length){ if(data[index].equals(target)){ judge = true; break; } index++; } if (!judge){ index = -1; } return index; } ```
int resultIndex = Searching.linearSearch(songName,target);
- songName对应要播放歌曲的名字。
- target对应存放歌曲的数组里的ID。
- 当我们查找歌曲时会从数组里提取相对应的ID并播放。
实验报告
实验五-1-编译、运行、测试
-
1 git clone 小组项目
-
2 编译项目,提交编译成功截图(全屏,要有学号信息)
-
3 提交运行过程中的截图(全屏,要有学号信息)
-
这其实是测试我们有没有克隆过小组项目,只要上码云git clone一下就好,没什么难度。
-
clone成功的截图:
-
编译成功的截图:
-
运行过程中的截图:
实验五-2-代码修改
-
- 在小组项目中,找一个合适的地方添加一个按钮,点击显示自己的学号
-
- 提交运行截图(全屏,要有学号信息)
-
- 在项目中找一个界面,自己复制一份命名为XXXbak,修改代码,替换原来的部分
-
- 提交运行截图(全屏,要有学号信息)
- 添加按钮我们需要在布局文件里多添加一个按钮(我添加在了进入游戏的主界面里。)
- 然后返回活动类(MainCover)中添加指针并注册监听事件。
- 然后再在onClick中实现
- 截图如下: