Por favor alguém me ajude!

5 respostas
ludimilla

Boa tarde!!!
peço ajuda a todos que entenderem esse código, ou que possuem outro código mais simples de verificação de cpf… pois terei que comenta – ló em sala de aula!!! mas não entendo essa parte?
Por favor me ajudem!!!

String strCpf
      int     d1, d2;
      int     digito1, digito2, resto;
      int     digitoCPF;
      String  nDigResult;

      for (int nCount = 1; nCount < strCpf.length() -1; nCount++)
	// sei que é um for normal, mas não entende essa parte  “strCpf.length() - 1 ” pq “– 1 “ ?


	digitoCPF = Integer.valueOf (strCpf.substring(nCount -1, nCount)).intValue();
		//  Não entende nada!!! principalmente “substring, intValue()” 


		 d1 = d1 + ( 11 - nCount ) * digitoCPF;
		// ??????


 		String nDigVerific = strCpf.substring (strCpf.length()-2, strCpf.length());
		// strCpf.substring , strCpf.length() - 2 , strCpf.length() meu deus o que é isso?


		 return nDigVerific.equals(nDigResult);
		// ??

Por favor!!! comente os comandos e as linhas

5 Respostas

gui_sv
if (botao == btnValidar) {
				int cpf = 0, controle = 0, soma = 0, resto = 0, cpf1 = 0;

				cpf = Integer.parseInt(txtCpf.getText());
				controle = Integer.parseInt(txtControle.getText());

				cpf1 = cpf;

				for (int cont = 2; cont <= 10; cont++) {
					soma = soma + (cont * (cpf1 % 10));
					cpf1 = cpf1 / 10;
				}
				resto = soma % 11;
				if ((resto == 0) || (resto == 1))
					resto = 0;
				else
					resto = 11 - resto;
				if (resto == (controle / 10)) {
					soma = 0;
					cpf1 = cpf;

					for (int cont = 3; cont <= 11; cont++) {
						soma = soma + (cont * (cpf1 % 10));
						cpf1 = cpf1 / 10;
					}
					soma = soma + (2 * (controle / 10));
					resto = soma % 11;

					if ((resto == 0) || (resto == 1))
						resto = 0;
					else
						resto = 11 - resto;

					if (resto == (controle % 10))
						lblLinha.setText("VÁLIDO");
					else
						lblLinha.setText("INVÁLIDO");
				} else
					
					lblLinha.setText("INVÁLIDO");

Aqui consta apenas a parte de verificacao do cpf ... contem alguns comando do java.swing .. pois foi feito em uma "GUI" .... desconsidere isso e utilize apenas a logica ... !!!

Flw

ludimilla

Olá sou eu de novo… o código esta incompleto!!! mas a outra parte, acho q entende… mas uma vez obrigado a todos…

Roger75

Você tem a API de Java?

Vou te passar o link, aí você dá uma procurada na classe String, e verifique o que os métodos da classe fazem.

http://java.sun.com/j2se/1.4.2/docs/api/index.html

Acho que o seu professor quer justamente que você faça uma pesquisa, pois o resultado você já tem.

ludimilla

muito obrigada!!! agora ficou mais fácil de entender…]

gui_sv

Veja:

public class Abc {
	public static void main(String args[]) {
		int cpf = 0, controle = 0, soma = 0, resto = 0, cpf1 = 0;
		 
			String cad = "111111111";
			String control = "11";
			
			cpf = Integer.parseInt(cad);
			controle = Integer.parseInt(control);

			cpf1 = cpf;

			for (int cont = 2; cont <= 10; cont++) {
				soma = soma + (cont * (cpf1 % 10));
				cpf1 = cpf1 / 10;
			}
			resto = soma % 11;
			if ((resto == 0) || (resto == 1))
				resto = 0;
			else
				resto = 11 - resto;
			if (resto == (controle / 10)) {
				soma = 0;
				cpf1 = cpf;

				for (int cont = 3; cont <= 11; cont++) {
					soma = soma + (cont * (cpf1 % 10));
					cpf1 = cpf1 / 10;
				}
				soma = soma + (2 * (controle / 10));
				resto = soma % 11;

				if ((resto == 0) || (resto == 1))
					resto = 0;
				else
					resto = 11 - resto;

				if (resto == (controle % 10))
					System.out.println("VÁLIDO");
				else
					System.out.println("INVÁLIDO");
			} else
				
				System.out.println("INVÁLIDO");

	}
}
Criado 29 de maio de 2006
Ultima resposta 29 de mai. de 2006
Respostas 5
Participantes 3