Ler Número de caracteres de várias linhas e comparar

6 respostas
wendelcastro

Bom dia,

Tenho um código que ler um arquivo txt e imprime em tela, esse arquivo contem vários cabeçalhos e para cada cabeçalho existêm sequências de caracteres em baixo, em fim, preciso ler somente as sequências de caracteres e imprimir em tela o tamanho de cada sequência, alguém pode me ajudar? segue um exemplo abaixo:

Arquivo:

>cabeçalho
stosiaoisooaisoaiosiaosoaisoiosiaosioais
ushaushuahsuahushaushuahsuahsuah
uahsuhaushuashuahsuahs
>cabeçalho
aisaijsiajisjaijsiajsiajisjais
ushuahsuahushaush
ushuahsuhas

Nesse caso meu algoritmo iria imprimir somente o número de caracteres de cada sequência, tipo nesse caso tenho 2 cabeçalhos e 6 sequências, ele pularia os cabeçalhos e faria a impressão do número de caracteres das 6 sequências:

Número de seq–>29
Número de seq–>20
Número de seq–>26
Número de seq–>15
Número de seq–>16
Número de seq–>18

Agradeço!

6 Respostas

CristianPalmaSola10

Procure identificar algo de comum no cabeçalho ai quando vc estiver lendo o arquivo que vc entra isso que é comum voce ja sabe que essa linha devera ser ignorada

Rodrigo_Sasaki

pra você saber o tamanho de um String você pode usar o método length

Para comparar (descobrir se é o cabeçalho) você pode usar os métodos equals ou equalsIgnoreCase.

Não sei como ajudar mais na comparação, porque você não forneceu informações suficientes.

Agora se tem dúvidas quanto a leitura de arquivos, leia esse artigo do GUJ sobre isso

ViniGodoy

Não seria algo como:

Scanner in = new Scanner(new File("nomeDoArquivo.txt")); while (in.hasNextLines()) { String linha = in.nextLine(); if (linha.startsWith(">")) { System.out.println(); continue; } System.out.println(linha + " --> " + linha.length()); } in.close();

wendelcastro

Qual parametro a ser usado para fazer isso?
e como imprimir o número de caracteres de cada linha?

CristianPalmaSola10

Cara leia o que o ViniGodoy postou e o que digaoneves postou acredito que ja tem tudo o que voce precisa para fazer o algoritmo

wendelcastro

ViniGodoy, seu script está correto, mas como eu faço para ler toda sequência e ter um valor destas, esse exemplo que você me mostrou ele atribuí o valor de caracteres por linha, mas na verdade eu querio o valor de caracteres por sequência, exemplo:

>cabeçalho
AAAAAAAAAA
AAAAA ------>Essa sequência tem 25 caracteres
AAAAAAAAAA
>cabeçalho
DDDDD --------->Essa 15 caracteres
DDDDDDDDDD

A partir dessa informação somaria as sequências e tiraria a média entre elas, como faço isso?

Obrigado!

Criado 3 de julho de 2012
Ultima resposta 3 de jul. de 2012
Respostas 6
Participantes 4