Site de bookmark

Otimo site de favoritos.
crie seus bookmarks e acesse de qualquer lugar.

www.kodorna.com.br

CPF

No velho estilo Ctrl+c Ctrl+v, na cara dura mesmo, vou copiar uma classe que pode ser útil. Uma classe para validar CPF. Ela faz todo o calculo dos dígitos verificadores para comparar com o do cpf passado.

Classe retirado desse exemplo do JavaFree.org. Só dei uma limpada na classe pra ela só verificar se o cpf é válido.

public abstract class Cpf {

    private static String calcDigVerif(String num) { 
        Integer primDig, segDig;
        int soma = 0, peso = 10;
        for (int i = 0; i < num.length(); i++)
            soma += Integer.parseInt(num.substring(i, i + 1)) * peso--;
        if (soma % 11 == 0 | soma % 11 == 1)
            primDig = new Integer(0);
        else
            primDig = new Integer(11 - (soma % 11));
        soma = 0;
        peso = 11;
        for (int i = 0; i < num.length(); i++)
            soma += Integer.parseInt(num.substring(i, i + 1)) * peso--;
            soma += primDig.intValue() * 2;
        if (soma % 11 == 0 | soma % 11 == 1)
            segDig = new Integer(0);
        else
            segDig = new Integer(11 - (soma % 11));
        return primDig.toString() + segDig.toString();
    } 

    public static boolean validaCPF(String cpf){
        if (cpf.length() != 11)
            return false;
        String numDig = cpf.substring(0, 9);
        return calcDigVerif(numDig).equals(cpf.substring(9, 11));
    } 

}

Primeira letra maiúscula

Sabe quando queremos formatar um nome no padrão convencional, tipo a primeira letra maiúscula. Então pra isso criei um método em java pra fazer isso.

Explicando o código:

1º Colocamos toda String em caixa baixa, tiramos possíveis espaços no final, e utilizamos o método split da Classe String. Esse método retorna um vetor com os nomes separados, pra isso você tem que informar um caracter que vai servir de separador. No nosso caso vai ser o espaço(“ ”).

2º Criamos um array com as palavras que não serão modificadas.

3º Percorremos o array com os nomes, se não for uma das palavras reservadas utilizamos o método capitalize da Classe StringUtils, esse método coloca o primeiro caracter de uma string em caixa alta.

public static String PrimeiraLetraMaiuscula(String name){
        String[] names = name.toLowerCase().trim().split(" ");
        String[] reserved = {"de","dos","da","e","das"};
        StringBuffer out = new StringBuffer("");
        for(int i=0;i<names.length;i++){
            if(Utilits.inArray(names[i], reserved)){
                out.append(names[i]+" ");
            }else{
                out.append(StringUtils.capitalize(names[i])+" ");
            }
        }
        return out.toString().trim();
    }

Lembrando que para utilizar a classe StringUtils a biblioteca org.apache.commons.lang deve ser adicionada ao seu projeto.

Foi criada uma classe Utilits com um método Static inArray para checar se a String esta no array de palavras reservadas.

Existe no Array?

As vezes precisamos verificar se uma determinada String é igual a alguma outra de um grupo em particular. Tipo assim: Temos um grupo de palavras reservadas e queremos verificar se uma String pertence a esse grupo.

Uma solução elegante seria a criação de um método para comparar essa String a um vetor com as Strings reservadas.

Pois bem, eis o método:

public static Boolean inArray(String value, String[] colection){
        Boolean out = false;
        for(int i=0;i<colection.length;i++){
            if(value.compareTo(colection[i])==0){
                out = true;
            }           
        }
        return out;
    }

Método simples e bobo a princípio, mas pode poupar tempo em algumas ocasiões. Pelo menos pra min poupou.