Java Erro ao validar Cnpj? Eu criei o método e não estou conseguindo achar o erro?

import DAO.DAOFornecedor;
import dominio.Fornecedor;
import java.util.InputMismatchException;
import java.util.Scanner;

public class CadastrarFornecedor 
{

public void telaCadastro() 
{

    Scanner ler = new Scanner(System.in);

    System.out.printf("Informe o nome do Fornecedor:");
    String nomeFornecedor = ler.nextLine();

    System.out.printf("Informe o endereco do Fornecedor :");
    String endereco = ler.nextLine();

    System.out.printf("Informe o numero do Fornecedor :");
    String numero = ler.nextLine();

    System.out.printf("Informe o bairro do Fornecedor:");
    String bairro = ler.nextLine();

    System.out.printf("Informe o cep do Fornecedor:");
    String cep = ler.nextLine();

    System.out.printf("Informe o email  do Fornecedor:");
    String email = ler.nextLine();

    System.out.printf("Informe o cnpj  do Fornecedor:");
    String cnpj = ler.nextLine();
    if (CadastrarFornecedor.iscnpj(cnpj) == true) {
        System.out.printf("%s\n", CadastrarFornecedor.imprimeCNPJ(cnpj));
    } else {
        System.out.println("erro, cnpj invalido!!!\n");
    }

    System.out.printf("Informe a incricao do Fornecedor:");
    String inscricaoEstadual = ler.nextLine();

    System.out.printf("Informe o telefone do Fornecedor:");
    String telefone = ler.nextLine();

    Fornecedor fFornecedor = new Fornecedor();

    fFornecedor.setNomeFornecedor(nomeFornecedor);
    fFornecedor.setEndereco(endereco);
    fFornecedor.setNumero(numero);
    fFornecedor.setBairro(bairro);
    fFornecedor.setCep(cep);
    fFornecedor.setEmail(email);
    fFornecedor.setCnpj(cnpj);
    fFornecedor.setInscricaoEstadual(inscricaoEstadual);
    fFornecedor.setTelefone(telefone);

    System.out.println(validacaoCadastro(fFornecedor));
    
}

private String validacaoCadastro(Fornecedor fornecedor) 
{
DAOFornecedor salvarDados = new DAOFornecedor();  

public static boolean iscnpj(String cnpj) 
{
    // considera-se erro Cnpjs's formados por uma sequencia de numeros iguais
    if (cnpj.equals("00000000000")
            || cnpj.equals("11111111111")
            || cnpj.equals("22222222222") || cnpj.equals("33333333333")
            || cnpj.equals("44444444444") || cnpj.equals("55555555555")
            || cnpj.equals("66666666666") || cnpj.equals("77777777777")
            || cnpj.equals("88888888888") || cnpj.equals("99999999999")
            || (cnpj.length() != 11)) {
        return (false);
    }

    char dig10, dig11;
    int sm, i, r, num, peso;

    // "try" - protege o codigo para eventuais erros de conversao de tipo (int)
    try {
        // Calculo do 1o. Digito Verificador
        sm = 0;
        peso = 10;
        for (i = 0; i < 9; i++) {
            // converte o i-esimo caractere do CPF em um numero:
            // por exemplo, transforma o caractere '0' no inteiro 0         
            // (48 eh a posicao de '0' na tabela ASCII)         
            num = (int) (cnpj.charAt(i) - 48);
            sm = sm + (num * peso);
            peso = peso - 1;
        }

        r = 11 - (sm % 11);
        if ((r == 10) || (r == 11)) {
            dig10 = '0';
        } else {
            dig10 = (char) (r + 48); // converte no respectivo caractere numerico
        }
        // Calculo do 2o. Digito Verificador
        sm = 0;
        peso = 11;
        for (i = 0; i < 10; i++) {
            num = (int) (cnpj.charAt(i) - 48);
            sm = sm + (num * peso);
            peso = peso - 1;
        }

        r = 11 - (sm % 11);
        if ((r == 10) || (r == 11)) {
            dig11 = '0';
        } else {
            dig11 = (char) (r + 48);
        }

        // Verifica se os digitos calculados conferem com os digitos informados.
        if ((dig10 == cnpj.charAt(9)) && (dig11 == cnpj.charAt(10))) {
            return (true);
        } else {
            return (false);
        }
    } catch (InputMismatchException erro) {
        return (false);
    }
}

public static String imprimeCNPJ(String cnpj) {
    return (cnpj.substring(0, 3) + "." + cnpj.substring(3, 6) + "."
            + cnpj.substring(6, 9) + "-" + cnpj.substring(9, 11));
}

}

o que acontece? da erro? funciona? nao acontece nada???

1 curtida

funciona só o menu inicial que eu tenho, não estou conseguindo validar

  // validaão e restriçao do fornecedor
    private String validacaoCadastro(Fornecedor fornecedor) 
    {
        DAOFornecedor salvarDados = new DAOFornecedor();
        return null;

    }

Quero validar o cpf ai dentro e não estou conseguindo

mas cade a validação de CPF? No seu código só tem cnpj

1 curtida

é CNPJ rsrsrs

chama esse método

iscnpj("seucnpj");
1 curtida