StringTokenizer

4 respostas
P

oi pessoal!!

Precisava de uma ajuda num problema.

Alguem podia explicar-me como é
que atraves do StringTokenizer eu consigo ler num ficheiro txt o numero
de palavras até encontrar um ponto final???

espero q me possam ajudar…

eu n percebo mto disto!!!

4 Respostas

J

Para vc ler o arquivo vc pode utilizar o BufferedReader, que tem o um método que lê linha por linha (método readLine()). Vc pode ficar lendo linha por linha (concatenando as strings) até achar uma linha que tenha um ponto. Assim, vc passa para o StringTokenizer esta String e o separador (o espaço, o que separa palavras). Pra saber o número de palavras, tem o método countTokens.

Blz… :wink:

E
Código exemplo:
final String delimitador = "#";
        
String nomes = "ERALDO#PAULA#FLAVIA#ROSE";

StringTokenizer stNome = new StringTokenizer(nomes, "#");

while (stNome.hasMoreTokens()) {
    System.out.println("Nome:" + stNome.nextToken());
}
Resultado:
Nome:ERALDO
Nome:PAULA
Nome:FLAVIA
Nome:ROSE
W

Como vc vai abrir um ficheiro txt eu não sei te dizer, mas, se vc conseguir abrir o ficheiro, peque todo o conteúdo do txt e atribua a um String.

Aqui vai um exemplo que talves pode te “clarear” as idéias:

import java.util.StringTokenizer;
import javax.swing.JOptionPane;

public class achaPontoFinal
{
    public static void main( String args[] )
    {
        String s = "";
        String str = "";
        boolean achou = false; // INDICA SE ACHOU O PONTO FINAL
        int i = 0; // VARIAVEL QUE CONTA QUANTAS PALAVRAS PASSARAM
                     // ATÉ QUE ENCONTRE O PONTO FINAL

        str = JOptionPane.showInputDialog( "Digite um texto" );
        StringTokenizer tokens = new StringTokenizer( str );
        
        while ( tokens.hasMoreTokens())
        {
            s = tokens.nextToken();
            i++;
            if ( s.endsWith( "." ))
            {
                achou = true;
                break;
            }
         }
         
         if ( achou )
             System.out.println( "Palavras até o ponto final: " + i );
         else
             System.out.println( "Não achou um ponto final" );
    }
}

Testa isso e vê se deu algum resultado. :wink:

P

Mto obrigada pela vossa preciosa ajuda …

Abraços

Criado 5 de abril de 2004
Ultima resposta 12 de abr. de 2004
Respostas 4
Participantes 4