Me ajudem com um tokenizer

5 respostas
P

é o seguinte, estou usando os metodos:

while(meuToken.hasMoreTokens()){ meuToken.nextToken(); }

mas abaixo no meu código preciso fazer a mesma verificação, desde o inicio do tokenizer. Minha dúvida é: como faço para voltar esse tokenizer para o inicio após ter executado o while anterior? Valew.

5 Respostas

M

/**

  • @author Mario Zupardo

/
import java.util.
;

public class TestStringTokenizer

{

public static void main(String[] args)

{

StringTokenizer st = new StringTokenizer(java;web;j2ee;j2me,";");
//instancia um ArrayList para guardar as Strings
	ArrayList list = new ArrayList();
	
	//Transfere os dados da StringTokenizer para o ArrayList
	while (st.hasMoreTokens()) 
		list.add(st.nextToken());			
	
	//Imprime aleatorio usando o indice
	System.out.println(list.get(0));
	System.out.println(list.get(2));
}

}

/**

  • @author Mario Zupardo

  • Utilizando o Metodo split da versao jdk1.4
    
    */
    
    public class TestSplit
    
    {
    
    public static void main(String[] args)
    
    {
    
    String s = java;web;j2ee;j2me;
    
    //Utiliza a funcao split da versao jdk1.4
     String [] tokens = s.split(";");
     
     //Imprime aleatorio usando o indice
     System.out.println(tokens[0]);
     System.out.println(tokens[2]);
    

    }
    }

jordy

No seu while, você pode armazenar cada elemento do tokenizer num Vector, por exemplo, e depois, percorrer esse Vector do início.

urubatan

bom, como ja mencionei em outro thread, prefiro utilizar o split, mesmo por que neste, o teu separador pode ser qualquer tipo de expressão regular :slight_smile:

mas caso precise mesmo do tokenizer, usa um ArrayList ou um vector para armazenar os resultados das iterações

P

valew galera, mas eu tenho mesmo que usar o tokenizer( exigencias acima de minha jurisdição ) :? .
Eu tentei usar vector, mas da muito mais trabalho, tenho q usar enumeration, e volta ao mesmo problema. Além do mais essa possibilidade também já foi descartada ( exigencias acima de minha jurisdição ) :? .
Se alguém souber como eu volto um vector, talvez eu pudesse aplicar o mesmo principi aqui… Valew.

R

ola

eu tenho de ler um ficheiro e imprimir

1 ; 96123456 ; John Smith ; Rua de Cima ; 253987654 ; hipertens?o
3 ; 96234567 ; Maria Fatima ; Rua de Baixo ; 253876543 ; hipotens?o
4 ; 96345678 ; Maria Luisa ; Avenida Central ; 253765432 ; RC alto
5 ; 96456789 ; Manuel Luis ; Pra?a Comercio ; 253654321 ; RC baixo

como posso imprimir em linhas separadas o que esta separado de ";"

tenho este codigo ate agora

comprimentos

import java.io.*;    
        
       public class Dados{    
       public static void main(String[] args){    
       try {    
       BufferedReader in = new BufferedReader(new FileReader("conteudo.txt"));    
       String str;    
       while((str = in.readLine()) != null)    
       {    
       if(str.startsWith("#"))    
       {    
       str= "";    
       }    
       else{    
        
        
       System.out.println(str);    
       }    
       }    
       in.close();    
       }    
       catch (IOException e){    
       // possiveis erros são tratatos aqui    
       }    
        
       System.exit(0);    
       }    
       }
Criado 25 de setembro de 2003
Ultima resposta 4 de jun. de 2011
Respostas 5
Participantes 5