Por favor alguém me ajude!

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

[code]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");

[/code]

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

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

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.

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

Veja:

[code]
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");

}

}[/code]