
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的并列的,所以不在一个作用域,就报错了