JAVA SE - Campo CPF textfield não aceita mais de 9 dígitos

7 respostas
jdbcmysqlmvc
M

CPF, não aceita 11 dígitos só 9 e dá este erro:
Erro: java.lang.NumberFormatException: For input string: “[telefone removido]”

*obs.: 400800800 entra de boa sem erro.

Classe Modelo:
package br.com.model;

import java.sql.Date;

/**
 *
 * @author brainiac
 */
public class Modelo {
    private int id;
    private String nome;
    private Date nascimento;
    private int cpf_cnpj;
    private String tel;
    private String cel;
    private String email;
    private String endereco;
    private String referencia;
    private String bairro;
    private String cidade;
    private String cep;
    private int estado; 
    private String profissao;
    private double salario;
    private double credito;
    
    
    // Bellow get and Setter
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Date getNascimento() {
        return nascimento;
    }

    public void setNascimento(Date nascimento) {
        this.nascimento = nascimento;
    }

    public int getCpf_cnpj() {
        return cpf_cnpj;
    }

    public void setCpf_cnpj(int cpf_cnpj) {
        this.cpf_cnpj = cpf_cnpj;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getCel() {
        return cel;
    }

    public void setCel(String cel) {
        this.cel = cel;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getReferencia() {
        return referencia;
    }

    public void setReferencia(String referencia) {
        this.referencia = referencia;
    }

    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public int getEstado() {
        return estado;
    }

    public void setEstado(int estado) {
        this.estado = estado;
    }

    public String getCep() {
        return cep;
    }

    public void setCep(String cep) {
        this.cep = cep;
    }

    public String getProfissao() {
        return profissao;
    }

    public void setProfissao(String profissao) {
        this.profissao = profissao;
    }

    public double getSalario() {
        return salario;
    }

    public void setSalario(double salario) {
        this.salario = salario;
    }

    public double getCredito() {
        return credito;
    }

    public void setCredito(double credito) {
        this.credito = credito;
    }

    @Override
    public String toString() {
        return "Modelo{" + "id=" + id + ", nome=" + nome + ", nascimento=" + nascimento + ", cpf_cnpj=" + cpf_cnpj + ", tel=" + tel + ", cel=" + cel + ", email=" + email + ", endereco=" + endereco + ", referencia=" + referencia + ", bairro=" + bairro + ", cidade=" + cidade + ", estado=" + estado + ", cep=" + cep + ", profissao=" + profissao + ", salario=" + salario + ", credito=" + credito + '}';
    }

Classe Controle:

public class ControleCliente {
    private static  PreparedStatement pstm;
    
    public static void gravarDados(Modelo modelo){
        try {
            String sql = "INSERT INTO tbl_cliente("
                    + "cliente_nome, "
                    + "cliente_nascimento, "
                    + "cliente_cpf, "
                    + "cliente_fone,"
                    + "cliente_cel,"
                    + "cliente_email,"
                    + "cliente_endereco, "
                    + "cliente_referencia, "
                    + "cliente_bairro,"
                    + "cliente_cidade,"
                    + "cliente_cep, "
                    + "cliente_estado_id, "
                    + "cliente_profissao, "
                    + "cliente_salario,"
                    + "cliente_credito) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            
            pstm = Conectar.conn.prepareStatement(sql);
            
            pstm.setString(1, modelo.getNome());
            pstm.setDate(2, (Date) modelo.getNascimento());
            pstm.setInt(3, modelo.getCpf_cnpj());
            pstm.setString(4, modelo.getTel());
            pstm.setString(5, modelo.getCel());
            pstm.setString(6, modelo.getEmail());
            pstm.setString(7, modelo.getEndereco());
            pstm.setString(8, modelo.getReferencia());
            pstm.setString(9, modelo.getBairro());
            pstm.setString(10, modelo.getCidade());
            pstm.setString(11, modelo.getCep());
            pstm.setInt(12, modelo.getEstado());
            pstm.setString(13, modelo.getProfissao());
            pstm.setDouble(14, modelo.getSalario());
            pstm.setDouble(15, modelo.getCredito());
            
            // para gravar no BD
            pstm.execute();
            System.out.println("Gravado com sucesso no BD");
           
            
        } catch (SQLException ex) {
            System.out.println("Erro ao gravar no BD: "+ex.getMessage());
        }
    }
    
    public static void atualizarDados(Modelo modelo){
        
    }
    
    public static void excluirDados(Modelo modelo){
        
    }
    
}

Parcial da classe visão feita com um frame:

public class FrmCliente extends javax.swing.JDialog {
    
   Modelo modelo = new Modelo(); 
   int estado_id;   
     
    /**
     * Creates new form FrmCliente
     */
    public FrmCliente(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        carregarEstados();
        
    }
// método para carregar comboBox Estados    
private void carregarEstados(){
    try {
        
        jComboEstado.removeAllItems();
        Conectar.executaSQL("SELECT * FROM tbl_estado ORDER BY estado_sg");
        
        while(Conectar.rs.next()){
           jComboEstado.addItem(Conectar.rs.getString("estado_sg"));
           
        }
        pegarIdEstado(jComboEstado.getSelectedItem().toString());
    } catch (Exception e) {
    }
}

// método para  tratar Id do estado
private void pegarIdEstado(String sql){
    
    try {
        
        
        Conectar.executaSQL("SELECT * FROM tbl_estado WHERE estado_sg='"+sql+"' ");
        
        while(Conectar.rs.next()){
           estado_id = Conectar.rs.getInt("estado_id");
           
        }
        
    } catch (Exception e) {
    }
        
    
}
private void jComboEstadoPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {                                                          
        
         pegarIdEstado(jComboEstado.getSelectedItem().toString());
        
    }                                                         

    private void gravarDados(){
        //Pode escolher formato BR ou English
        SimpleDateFormat dtBR = new SimpleDateFormat("dd/MM/yyyy");
	SimpleDateFormat dtEN = new SimpleDateFormat("yyyy-MM-dd");
        
        
	try{
        
            modelo.setNome(txtnome.getText()); 
            
            modelo.setNascimento(ConverteData.converte(dtBR.parse(txtnasc.getText())));
            
            modelo.setCpf_cnpj(Integer.parseInt(txtcpf.getText()));
            modelo.setTel(txttel.getText());
            modelo.setCel(txtcel.getText());
            modelo.setEmail(txtemail.getText());
            modelo.setEndereco(txtendereco.getText());
            modelo.setReferencia(txtref.getText());
            modelo.setBairro(txtbairro.getText());
            modelo.setCidade(txtcidade.getText());
            modelo.setCep(txtcep.getText());
            modelo.setEstado(estado_id);
            modelo.setProfissao(txtprofis.getText());
            modelo.setSalario(Double.parseDouble(txtsalario.getText()));
            modelo.setCredito(Double.parseDouble(txtcredito.getText()));
            ControleCliente.gravarDados(modelo);
        }catch (Exception e){
            System.err.println("Erro: " +e);
	
        }
    }

Banco:

CREATE DATABASE controlj;
USE controlj;

CREATE TABLE tbl_estado(
estado_id INT(20) AUTO_INCREMENT, 
estado_sg CHAR(3),
estado_nome VARCHAR(50),
PRIMARY KEY (estado_id)
);

DROP TABLE tbl_estado;




INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('AC', 'Acre');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('AL', 'Alagoas');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('AP', 'Amapa');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('AM', 'Amazonas');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('BA', 'Bahia');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('CE', 'Ceara');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('DF', 'Distrito Federal');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('ES', 'Espirio Santo');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('GO', 'Goias');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('MA', 'Maranhao');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('MT', 'Mato Grosso');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('MS', 'Mato Grosso do Sul');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('MG', 'Minas Gerais');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PA', 'Para');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PB', 'Paraiba');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PR', 'Parana');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PE', 'Pernambuco');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('PI', 'Piaui');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RJ', 'Rio de Janeiro');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RN', 'Rio Grande do norte');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RS', 'Rio Grande do Sul');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RO', 'Rondonia');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('RR', 'Roraima');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('SC', 'Santa Catarina');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('SP', 'Sao Paulo');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('SE', 'Sergipe');
INSERT INTO tbl_estado (estado_sg, estado_nome) VALUES ('TO', 'Tocantins');


SELECT * FROM tbl_estado;

/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_estado;


CREATE TABLE tbl_empresa(
empresa_id INT(20) AUTO_INCREMENT, 
empresa_nome VARCHAR(50),
empresa_fundacao DATE,
empresa_cnpj INT(25),
empresa_fone VARCHAR(20),
empresa_cel VARCHAR(20),
empresa_email VARCHAR(50),
empresa_endereco VARCHAR(100),
empresa_referencia VARCHAR(50),
empresa_bairro VARCHAR(50),
empresa_cidade VARCHAR(50),
empresa_estado_id INT(20),
PRIMARY KEY (empresa_id),
FOREIGN KEY (empresa_estado_id)REFERENCES tbl_estado(estado_id)
);

DROP TABLE tbl_empresa;



/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_empresa;

SELECT * FROM tbl_empresa;

/* Mostra os nomes de todas as tabelas criadas nesta base de dados selecionada */
SHOW TABLES;


CREATE TABLE tbl_usuario(
usuario_id INT(20) AUTO_INCREMENT, 
usuario_nome VARCHAR(50),
usuario_fundacao DATE,
usuario_cpf INT(25),
usuario_fone VARCHAR(20),
usuario_cel VARCHAR(20),
usuario_email VARCHAR(50),
usuario_endereco VARCHAR(100),
usuario_referencia VARCHAR(50),
usuario_bairro VARCHAR(50),
usuario_cidade VARCHAR(50),
usuario_estado_id INT(20),
PRIMARY KEY (usuario_id),
FOREIGN KEY (usuario_estado_id)REFERENCES tbl_estado(estado_id)
);

DROP TABLE tbl_usuario;



/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_empresa;

SELECT * FROM tbl_usuario;

/* Mostra os nomes de todas as tabelas criadas nesta base de dados selecionada */
SHOW TABLES;


CREATE TABLE tbl_cliente(
cliente_id INT(20) AUTO_INCREMENT, 
cliente_nome VARCHAR(50),
cliente_nascimento DATE,
cliente_cpf INT(25),
cliente_fone VARCHAR(20),
cliente_cel VARCHAR(20),
cliente_email VARCHAR(50),
cliente_endereco VARCHAR(100),
cliente_referencia VARCHAR(50),
cliente_bairro VARCHAR(50),
cliente_cidade VARCHAR(50),
cliente_cep VARCHAR(50),
cliente_estado_id INT(20),
cliente_profissao VARCHAR(50),
cliente_salario DECIMAL(50),
cliente_credito DECIMAL(50),
PRIMARY KEY (cliente_id),
FOREIGN KEY (cliente_estado_id)REFERENCES tbl_estado(estado_id)
);

DROP TABLE tbl_cliente;



/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_cliente;

SELECT * FROM tbl_cliente;

/* Mostra os nomes de todas as tabelas criadas nesta base de dados selecionada */
SHOW TABLES;

CREATE TABLE tbl_fornecedor(
fornecedor_id INT(20) AUTO_INCREMENT, 
fornecedor_nome VARCHAR(50),
fornecedor_fundacao DATE,
fornecedor_cnpj INT(25),
fornecedor_fone VARCHAR(20),
fornecedor_cel VARCHAR(20),
fornecedor_email VARCHAR(50),
fornecedor_endereco VARCHAR(100),
fornecedor_referencia VARCHAR(50),
fornecedor_bairro VARCHAR(50),
fornecedor_cidade VARCHAR(50),
fornecedor_estado_id INT(20),
PRIMARY KEY (fornecedor_id),
FOREIGN KEY (fornecedor_estado_id)REFERENCES tbl_estado(estado_id)
);

DROP TABLE tbl_fornecedor;



/* Zerar tabela e numeração de chave primária gerada */
TRUNCATE controlj.tbl_fornecedor;

SELECT * FROM tbl_fornecedor;

/* Mostra os nomes de todas as tabelas criadas nesta base de dados selecionada */
SHOW TABLES;

7 Respostas

Jederson_Andre

Declara esse atributo como String

Jonathan_Medeiros

Campo CPF e CNPJ geralmente se movimenta e se armazena no BD como Varchar e não como Int, mesma coisa no Java, são tratados como String não como int/Integer.

MuPezzuol

Exatamente isso. Perfeito!

M

Valeu pela dica, sou iniciante seguindo um tutorial maluco

M

valeu, vou alterar

Jederson_Andre

Quer aprender Java, da uma olhada no canal Univerdade XTI… muito conteudo bom em video aulas.

M

já vi, é bom

Criado 25 de abril de 2018
Ultima resposta 30 de abr. de 2018
Respostas 7
Participantes 4