解决方案 »
- ADT安装后,Eclipse里找不到Android项目怎么回事?
- 安卓系统,图片3D效果化单子,高手的进来
- 求高手,关于Android OnStartCommand 返回值问题
- android删除联系人-------标题要长
- 移植C++或者java代码到Android源码的步骤
- 【求助】Android下C++代码的调试问题
- 为什么找不到getAllMessagesFromIcc
- Android 能不能利用应用程序修改联系人列表
- 如何监控Android手机上的http请求
- 初学android,线程间使用handle传递数据
- Android 子线程更新UI问题
- C++服务器 socket传图片给android客户端,用BitmapFactory.decodeByteArray解析不出来?
判断逻辑可以再优化 /**
*
* @param w 横向位置,从0开始
* @param h 纵向位置,从0开始
* @return 返回上下左右包括自己共9个位置,有多少个与自己相同的数字
*/
public int getNum(int w,int h){
if(w<0||h<0||w>=a.length||h>=a[a.length-1].length){
return -1;//输入的数字不合法
}
int num=0;//总数
int find=a[w][h];//获取查询点
//8次查询,首先是上一行
if(w-1>=0&&h-1>=0&&find==a[w-1][h-1]){//左上角
num++;
}
if(h-1>0&&find==a[w][h-1]){//上方
num++;
}
if(w+1<a.length&&h-1>0&&find==a[w+1][h-1]){
num++;
}
//中间一行
if(w-1>=0&&find==a[w-1][h]){
num++;
}
if(w+1<a.length&&find==a[w+1][h]){
num++;
}
//下一行
if(w-1>=0&&h+1<a[a.length-1].length&&find==a[w-1][h+1]){//左上角
num++;
}
if(h+1<a[a.length-1].length&&find==a[w][h+1]){//上方
num++;
}
if(w+1<a.length&&h+1<a[a.length-1].length&&find==a[w+1][h+1]){
num++;
}
return num+1;//+1是等算上自己
}