Problemas com separação de inteiros, Reais em uma string
11 respostas
Bejota
Olá Pessoal,
Sou iniciante em Java e estou usando JCreator, preciso fazer o seguinte, lendo uma entrada de dados (via teclado) separar na string de entrada o que é inteiro, float e character.
Por enquanto ja fiz algo como listado abaixo, mas não esta funcionando, alguem pode me orientar pois acho que estou errado algo facil. Outra coisa é que o import do regex não aparece como ativo, sera que meu JCreator não possui o regex?
public class Analisador {
private String DadospAnalise;
//Vetores para armazenar dados ja separadospublicvoidentrada(){//Digitar dados System.out.println("Digite os dados separados por espaço: ");//instancia o objeto DataInputentrada_Dados=newDataInputStream(System.in);try{//String Recebe a entrada DadospAnalise=entrada_Dados.readLine();}catch(Exceptionerro){//Trata erroSystem.out.println("Erro de leitura");}}privatevoidparser(StringDados){StringcodNumeros=Dados.replaceAll("\\D*","");System.out.println("Inteiros: "+Dados);StringcodLetras=Dados.replaceAll("\\d*","");System.out.println("String: "+Dados);}
vc importou o Regex como java.u[color=red]n[/color]til.Regex;… troque por java.util.Regex;
Bejota
Amigo, estou debugando meu codigo e ele esta dando erro justamente na linha do import java.util.Regex, esta estranho pq esta aparecendo como se o Regex não existisse na Biblioteca, ou seja quando eu importo ele não fica em evidência como os outros imports.
Thiago_Luis
Fala cara, blza?
É por Regex é um pacote, e dentro dele que tem as classes:
importjava.util.regex.*;
Abraços
Bejota
Oi estou postando minha Classe principal para que possam ver como fiz tmb
Valeu brother, o problema do Regex parou de aparecer quando debugo, mas ele esta me dizendo : cannot find symbol class verificadados e analisador. Qual será o problema??? ja postei acima minah classe principal
agradeço a ajuda.
Thiago_Luis
Então, pq vc cirou o objeto Analisador com o tipo analisador (com a minúsculo) e depois do new, vc passou um construtor que não existe (verificadados()).
Deve ser:
Analisador verificadados;
verificadados = new Analisador();
Abraços
Bejota
Oi amigos,
Novamente estou aqui como mais um problema (duvida), estou recebendo esta mensagem quando rodo o programa:
analisa(java.lang.String) in Analisador cannot be applied to ()
A minha classe principal possue este metodo e quando tenta chama-lo da o erro citado.
obrigado.
Thiago_Luis
Cara, no seu primeiro post, vc declarou seu método como parser(String Dados) e não como analisa(String Dados)
Da uma verificada nos nomes…
Abraço
Bejota
Amigão, meu desculpe eu acabei mudando mas ja estava ocorrendo o mesmo erro quando eu utilizo parser, parece que ele esta com algum erro em relação ao que eu estou passando pra ele, pelo menos é o que eu andei vendo nas pesquisas que eu fiz sobre este erro:
parser(java.lang.String) in Analisador cannot be applied to ()
é amigos é duro ser iniciante em uma linguagem.
agradeço se mais alguem puder olhar meus codigos e me ajudar.
tks
Thiago_Luis
Então,
É que no seu código aqui:
publicstaticvoidmain(String[]args){// declaração do Objeto e InstanciaçãoAnalisadorverificadados;verificadados=newAnalisador();//Metodosverificadados.entrada();verificadados.analisa();//Aqui vc tenta chamar um método analisa() que não contem nenhum parâmetro// verificadados.imprime();}
Ou seja, não existe este método.
Vc deve passar uma String para o método analisa()!!!!
Provavelmente a String DadospAnalise, que é a String que vc quer analisar.
Decidi simplificar tudo aqui, ao invés de fazer todo o codigo que eu estava fazendo só pra separar letras numeros e reais (ponto flutuante), eu fiz o codigo abaixo pra testar e usei replaceAll. Funcionou cara. o que eu ainda não consegui fazer foi replaceAll para ponto flutuante pois não consegue encontrar a Expressão regular pra montar isso