20162320刘先润大二 实验五 数据结构综合应用
一、分析系统架构
二、编译、运行、测试系统
1.首先进入团队项目的码云◀ Java演绎法▶,点击克隆/下载
按钮下的复制
2.打开Android Studio,点击VCS
列表下的Git
,然后点击clone
3.将复制的地址粘贴到Git Repository URL下,然后选择克隆路径和名称,点击clone
,等待克隆完成就相当于编译成功
4.点击run
并配置相应的虚拟手机设备,运行截图如下
三、修改系统
1.首先打开主界面的xml文件,进入design
模式,从左边添加一个按钮进入任意位置,查看其id为button2
2.打开主界面的类,添加代码,并按要求附带学号信息
setContentView(R.layout.activity_main);
findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(MainCover.this, "我是20162320帅气的刘先润", Toast.LENGTH_LONG).show();
}
});
3.复制任意一个xml文件,并更改其名称加上"bak",当成备份使用
4.测试运行截图如下
四、 分析数据结构、排序、查找算法的应用
排序:我们组抽到的算法是查找,在本组的app中,一共有两处涉及了查找算法,一是在选车界面的查找车辆索引,二是音乐界面的查找音乐。我们建立了一个线性查找类,给出一个线性查找方法,代码如下:
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;
}
例如在音乐选择中,首先设立一个音乐查找的按键,并将其初始化,并确立音乐查找的各种事件,查找成功后直接进入游戏界面,若失败则显示Toast弹窗信息
public void onClick(View view) {
if (view.getId()== R.id.music_searchBtn){
String target = findSong.getText().toString();
int resultIndex = Searching.linearSearch(songName,target);
if (resultIndex!=-1){
StartGame.putExtra("songID",songID[resultIndex]);
StartGame.putExtra("carID",idReceiver.getStringExtra("carID"));
startActivity(StartGame);
finish();
}else {
Toast.makeText(this,"曲目不存在",Toast.LENGTH_SHORT).show();
}
}
}