Como separar valores de uma variável do tipo String
9 respostas
IagoRock
Bom dia pessoal.
É assim, eu estou criando um validador de CPF’s, li alguns artigos e já possuo uma lógica formada.
Mas para criar esse validador preciso separar os valores de uma váriavel que foram inseridos de um JTextField e atribuir cada valor para uma váriavel diferente passando de String para int.
Não entendi direito você quer converter de string para int é isso?
Poneis123
Vc ta tentando por exemplo separar cada 3 casas dessa string e transformar esse resultado de 3 casas para int? por exemplo:
CPF: [CPF removido]… vc quer pegar apenas o 123 em uma variavel e dps transformar para string e assim por diante?
se for isso, utilize o método subString() da string, para isso vc faria:
Quando eu acabar de fazer o meu validador eu o postarei aqui o código fonte aqui, obrigado a todos!
=D
IagoRock
Valeu pessoal!
Aqui está o meu validador de CPF...
O código está enorme, mas fui eu que criei, então está bom! xD
Muito obrigado!
importjavax.swing.*;publicclassValidador_CPF{publicstaticvoidmain(Stringargs[]){StringCPF=JOptionPane.showInputDialog(null,"Entre com o número de CPF","Entre com o CPF",JOptionPane.PLAIN_MESSAGE);if(CPF.length()!=11||CPF.equals("[telefone removido]")||CPF.equals("[telefone removido]")||CPF.equals("[telefone removido]")||CPF.equals("[telefone removido]")||CPF.equals("[telefone removido]")||CPF=="[telefone removido]"||CPF.equals("[telefone removido]")||CPF.equals("[telefone removido]")||CPF.equals("[telefone removido]")||CPF.equals("[telefone removido]")){JOptionPane.showMessageDialog(null,"Número de CPF inválido, por favor insira um novo","CPF inválido",JOptionPane.ERROR_MESSAGE);}else{intnumero_01=Integer.parseInt(CPF.substring(0,1));intnumero_02=Integer.parseInt(CPF.substring(1,2));intnumero_03=Integer.parseInt(CPF.substring(2,3));intnumero_04=Integer.parseInt(CPF.substring(3,4));intnumero_05=Integer.parseInt(CPF.substring(4,5));intnumero_06=Integer.parseInt(CPF.substring(5,6));intnumero_07=Integer.parseInt(CPF.substring(6,7));intnumero_08=Integer.parseInt(CPF.substring(7,8));intnumero_09=Integer.parseInt(CPF.substring(8,9));intnumero_10=Integer.parseInt(CPF.substring(9,10));intnumero_11=Integer.parseInt(CPF.substring(10,11));intdigito_01_numero_01=numero_01*10;intdigito_01_numero_02=numero_02*9;intdigito_01_numero_03=numero_03*8;intdigito_01_numero_04=numero_04*7;intdigito_01_numero_05=numero_05*6;intdigito_01_numero_06=numero_06*5;intdigito_01_numero_07=numero_07*4;intdigito_01_numero_08=numero_08*3;intdigito_01_numero_09=numero_09*2;intsoma_01=digito_01_numero_01+digito_01_numero_02+digito_01_numero_03+digito_01_numero_04+digito_01_numero_05+digito_01_numero_06+digito_01_numero_07+digito_01_numero_08+digito_01_numero_09;intdigito_01=soma_01%11;if(digito_01<2){digito_01=0;}else{digito_01=11-digito_01;}System.out.println(digito_01);intdigito_02_numero_01=numero_01*11;intdigito_02_numero_02=numero_02*10;intdigito_02_numero_03=numero_03*9;intdigito_02_numero_04=numero_04*8;intdigito_02_numero_05=numero_05*7;intdigito_02_numero_06=numero_06*6;intdigito_02_numero_07=numero_07*5;intdigito_02_numero_08=numero_08*4;intdigito_02_numero_09=numero_09*3;intdigito_02_numero_10=numero_10*2;intsoma_02=digito_02_numero_01+digito_02_numero_02+digito_02_numero_03+digito_02_numero_04+digito_02_numero_05+digito_02_numero_06+digito_02_numero_07+digito_02_numero_08+digito_02_numero_09+digito_02_numero_10;intdigito_02=soma_02%11;if(digito_02<2){digito_02=0;}else{digito_02=11-digito_02;}System.out.println(digito_02);if(numero_10!=digito_01||numero_11!=digito_02){JOptionPane.showMessageDialog(null,"Número de CPF inválido, por favor insira um novo","CPF inválido",JOptionPane.ERROR_MESSAGE);}else{JOptionPane.showMessageDialog(null,"Número de CPF "+CPF+" foi válidado. Número de CPF correto","CPF válido",JOptionPane.INFORMATION_MESSAGE);}}}}
abelgomes
é isso ai cara, parabens…
lina1 like
Oi,
Parabéns! Nada que força de vontade e uma boa logica não resolva.
Se me permitir, gostaria de dar uma dica… ok?
Você não precisa criar varias variaveis inteiras se utilizar Array.
Stringls_cpf="[CPF removido]";// Claro que coloquei um cpf qualquer aqui no FOR.for(inti=0;i<ls_cpf.length();i++){// Se for númerico.if(ls_cpf.charAt(i)>='0'&&ls_cpf.charAt(i)<='9'){if(ln_posicao<14){cpf[ln_posicao++]=Integer.parseInt(ls_cpf.substring(i,i+1));}else{thrownewIllegalArgumentException("CPF ("+ls_cpf+") com mais de 14 posições numéricas");}}// Se posição não númerica ...else{switch(ls_cpf.charAt(i)){// Se separador ...case'.':case'/':case'-':case' ':break;default:thrownewIllegalArgumentException("CPF com conteúdo ("+ls_cpf.charAt(i)+") inválido");}}}