Verifica força senha

Olá pessoal estou tentando fazer um programa que testa a força da senha, e ele precisa mostrar se a senha é fraca, media ou forte, com desenhos
Desenhei uma label que mostra vermelho se é fraca, amarela media, e verde fraca, ela está com alguns erros, mas não é esse o caso, isso eu cuido dpois.
Quando ele digitar senhas que possuiem simbolos ele ganha mais pontuação, e assim por diante.
O problema é que não sei como faz por exemplo se ele digitar varias vezes o numero 1 como que eu faço para comparar digito por digito se são iguais, pois daí a senha seria fraca, eu tentei assim.

  
for (int i=0;i<password.length();i++){   
            if (Pattern.matches("[0-9]", password)){   
                count++;   
            }   
         }   

eu fiz que o password fosse uma string, esse for está errado pois se eu digitar 1451 ele faz 4vezes uma comparação se contem numeros entre 0-9?
ele tinha que fazer apenas uma vez, certo?pq ele já percorre toda a string em uma só vez…

como eu faria para uma variavel receber a quantidade de numeros repetidos que tem a senha???

Obrigada

Nao sei se é isso que vc quer… mas pelo que eu entendi seu problema é nao conseguir pegar caracter por caracter de uma string…

Aproveitando seu codigo…

for (int i=0;i<password.length();i++){

            //password.charAt(i) retorna um char que vc pode usar pra comparacao...
            if (Pattern.matches("[0-9]", password.charAt(i))){     
                //faz o que deve ser feito     
            }     
         }     

A parte de verificar se a senha é segura é pura logica…

Abs…

Eu faria um vetor de 10 posições, cujo índice é o próprio dígito a ser testado. Algo assim:

int [] frequencia = new int[10];
  
for (int i=0;i&lt;password.length();i++){   
            try{
                        int digito = Integer.parseInt(password.charAt(i,10));
                        frequencia[digito]++;
            }catch(NumberFormatException nfe{
                        //ignora, nao eh numero
            }
}   

Depois, é só ver o valor no vetor para cada um dos dígitos.>

Existem muitas formas de verificar força de senhas, algumas já citadas acima.

Por exemplo, se você tiver uma infra-estruta maior pode verificar se a palavra existe em algum dicionário. Ou mesmo verificações simples como presença caracteres sequenciais (pelo código ASCII), semelhanca entre outros dados do usuário e a senha (se não é o prórprio login, data de aniversário, etc).

Enfim, a qualidade será algo mais incremental mesmo. Acho que não tem nehuma fórmula mágica.