以下是源码
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
while(true)
{
int m=in.nextInt();
int n=in.nextInt();
if(m==0&&n==0){return;}
int[][] arg=new int[m+2][n+2];
///读数据
for (int i = 1; i <= m; i++) {
String s = in.next();
for (int j = 1; j <= n; j++) {
arg[i][j] = s.charAt(j-1);
}
}
///处理数据
int count=0;
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if(arg[i][j]==64){
//把四周围8个都检查一遍,如果有64 就弄成别的
find(arg,i,j);
count++;
}
}
}
System.out.println(count);
}
}
private static void find(int[][] arg, int i, int j) {
arg[i][j]=65;
for(int p=i-1;p<=i+1;p++)
{
for(int q=j-1;q<=j+1;q++)
{
if(arg[p][q]==64)
find(arg,p,q);
}
}
}
}