为什么输入之后没有任何输出

下面是代码:
import java.util.Scanner;

public class tets4 {
static char [][]mat=new char[1010][1010];//地图
static int n;
static int m;//n行m列
static boolean []row=new boolean[1010];//标记每行
static boolean[] col=new boolean[1010];//标记每列

public static void boom(int x,int y){

mat[x][y]=0;//访问过的意思
if(!row[x]){
 row[x]=true;//x这一行没有爆炸
 for(int i=0;i<m;i++){
     if(mat[x][i]=='1'){
         
         boom(x,i);

     }
 }
}


if(!col[y]){
    col[y]=true;//y这一列没有爆炸
    for(int i=0;i<n;i++){
        if(mat[i][y]=='1'){
            boom(i,y);
            
        }
    }

   }

}
public static void main(String []args){
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
mat[i][j]=sc.next().charAt(0);

        }
    }
int cnt=0;
for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
        if(mat[i][j]=='1'){
           
            ++cnt;
            boom(i,j);


        }

    }
}

System.out.println(cnt);
}

}

你这个逻辑肯定有问题吧,你想实现个什么功能呢