
public class ValidacaoCPF {

	 public static boolean validar(String cpf) {  
	      boolean ret = false;  
	      String base = "000000000";    // 9 dígitos  
	      String digitos = "00";        // + 2 digítos verificadores
	      
	      if (cpf.length() <= 11) {  
	         if (cpf.length() < 11) {  
	            cpf = base.substring(0, 11 - cpf.length()) + cpf;  
	            base = cpf.substring(0, 9);  
	         }
	         
	         base = cpf.substring(0, 9);  
	         digitos = cpf.substring(9, 11);  
	         int soma = 0, mult = 11;  
	         int[] var = new int[11];
	         
	         // Recebe os números e realiza a multiplicação e soma.  
	         for (int i = 0; i < 9; i++) {  
	            var[i] = Integer.parseInt("" + cpf.charAt(i));  
	            if (i < 9)  
	               soma += (var[i] * --mult);  
	         }
	         
	         // Cria o primeiro dígito verificador.  
	         int resto = soma % 11;  
	         if (resto < 2) {  
	            var[9] = 0;  
	         } else {  
	            var[9] = 11 - resto;  
	         }
	         
	         // Reinicia os valores.  
	         soma = 0;  
	         mult = 11;  
	         
	         // Realiza a multiplicação e soma do segundo dígito.  
	         for (int i = 0; i < 10; i++)  
	            soma += var[i] * mult--;
	         
	         // Cria o segundo dígito verificador.  
	         resto = soma % 11;  
	         if (resto < 2) {  
	            var[10] = 0;  
	         } else {  
	            var[10] = 11 - resto;  
	         }
	         
	         if ((digitos.substring(0, 1).equalsIgnoreCase(new Integer(var[9])  
	               .toString()))  
	               && (digitos.substring(1, 2).equalsIgnoreCase(new Integer(  
	                     var[10]).toString()))) {  
	            ret = true;  
	         }  
	      }  
	  
	      return ret;  
	   }  
	
	

	   // teste de validação
	   public static void main(String[] args) {
	      if (ValidacaoCPF.validar("01234567891"))   // teste com seu CPF
	   	         System.out.println("O CPF é  válido.");  
	   	  else
	   	         System.out.println("O CPF é inválido.");  
	   	    
	   }
}
