Pessoal esse codigo compila certinho mais quando executo digito o primeiro digito e do entre da erro:
----exec: java cpfPrincipal
Exception in thread "main" java.lang.NullPointerException
at Cpf.entraCpf(Cpf.java:6)
at cpfPrincipal.main(cpfPrincipal.java:5)
---- wedge2: exit code for process is 1.
import javax.swing.*;
public class Cpf{
int[] cpf;
public void entraCpf(){
for(int x = 0;x<10;x++){
cpf[x] = Integer.parseInt(JOptionPane.showInputDialog("Entre com o "+(x+1)+" digito do CPF"));
}
}
public int calcPrimDig(int cpf[]){
int[] vetAux = {10,9,8,7,6,5,4,3,2};
int soma = 0;
for(int x = 0;x<vetAux.length;x++){
soma += vetAux[x] * cpf[x];
}
int resto = soma % 11;
if(resto < 2){
return 0;
}
else{
return 11 - resto;
}
}
public int calcSegDig(int cpf[]){
int[] vetAux = {11,10,9,8,7,6,5,4,3,2,1};
int soma = 0;
for(int i = 0;i<vetAux.length;i++){
soma += vetAux[i] * cpf[i];
}
int resto = soma % 11;
if(resto < 2){
return 0;
}
else{
return 11 - resto;
}
}
public boolean validaPrimDigito(){
int prim = calcPrimDig(cpf);
if(prim == cpf[9]){
return true;
}
else{
return false;
}
}
public boolean validaSegDigito(){
int seg = calcSegDig(cpf);
if(seg == cpf[10]){
return true;
}
else{
return false;
}
}
}
import javax.swing.*;
public class cpfPrincipal{
public static void main(String[] args){
Cpf cpf = new Cpf();
cpf.entraCpf();
boolean valid = cpf.validaPrimDigito();
boolean valido = cpf.validaSegDigito();
if(valid == true && valido == true){
JOptionPane.showMessageDialog(null,"O cpf é valido!");
}
else{
JOptionPane.showMessageDialog(null,"O cpf é invalido!");
}
}
}