Java 数据结构 数独 为什么识别不出来

img


class Solution {
    public boolean isValidSudoku(char[][] board) {
         HashSet sites=new HashSet<>();
         HashSet sites1=new HashSet<>();
         HashSet sites2=new HashSet<>();
         HashSet sites3=new HashSet<>();
         
         for(int i=0;i<9;i++){
             for(int j=0;j<9;j++){
                 Object ob=board[i][j];  
                 Object ob1=board[j][i];     
                 int m=0; 
                 int n=0;         
                 if(ob.equals(".")){
                    m=m+1;     
                                   
                 }
                 if(ob1.equals(".")){
                     n=n+1;  
                                      
                 }
                 String e=String.valueOf(board[i][j]);
                 String e1=String.valueOf(board[j][i]);
                 sites.add(e);  
                 sites1.add(e1);              
             }
             if( sites.size()==10-m &&  sites1.size()==10-n ){
                 boolean b=true;
             }else{
                 boolean b=false;
             }
         }
         for(int q=0;q<3;q++){
             for(int w=0;w<3;w++){
                 Object ob2=board[q][w];  
                 Object ob3=board[w][q];     
                 int mp=0; 
                 int np=0;         
                 if(ob2.equals(".")){
                     mp++;                   
                 }
                 if(ob3.equals(".")){
                     np++;                   
                 }
                 String e2=String.valueOf(board[q][w]);
                 String e3=String.valueOf(board[w][q]);
                 sites2.add(e2);  
                 sites3.add(e3);              
             }
             if(sites2.size()==4-mp && sites3.size()==4-np ){
                 boolean b1=true;
             }else{
                 boolean b1=false;
             }
         }
         if(b&&b1){
             return true;
         }else{
             return false;
         }
    }
}

变量m 和 n的位置问题,你定义在了里面的for里面,但是你这个if和这个for的并列的,所以不在一个作用域,就报错了