Preciso de Ajuda emJAVA? COMO contar palavras em TXT

1. Preciso de Ajuda emJAVA? COMO contar palavras em TXT

ERIC LUIZ DA SILVA ORTIZ
Luiz_l

(usa Outra)

Enviado em 29/11/2020 - 00:21h

ola pessoas
Sou iniciante em progamacao java eu estou com problema em executar meu codigo

primeiramente eu tenho abrir dois arquivoTxt no java e contar quantas palavras tem em cada arquivo e dps comparar qual dos arquivo tem mais palavras:
também tenho que instanciar os dois arquivo TXT em somente uma classe chamada arquivoComparar.

o meu primeiro problema é que nao consigo contar as palavras em somente um arquivo txt. preciso de um exemplo de como contar palavras para poder avancar nos outros objetivos.


import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;

//import arquivatura.ex;


public class Texto {
private int tam;
private static String conteudo;


public int getTam() {

return tam;
}

public void setTam(int tam) {
this.tam = tam;
}



public static String getConteudo() {
return conteudo;
}



public static void setConteudo(String conteudo) {
Texto.conteudo = conteudo;
}



public void LerTexto() {
String linha;
try {
FileReader fr;
fr =new FileReader("CaminhodoArquivo");

BufferedReader bf;
bf= new BufferedReader(fr);


linha = bf.readLine();
while(linha!=null) {

System.out.println(linha);
linha=bf.readLine();
tam++;

}
System.out.println("palavras contadas: "+tam);


}catch (Exception e) {
System.out.println("Error"+e.getMessage() );
}




}




  


2. Re: Preciso de Ajuda emJAVA? COMO contar palavras em TXT

ERIC LUIZ DA SILVA ORTIZ
Luiz_l

(usa Outra)

Enviado em 29/11/2020 - 02:10h

eu modifquei algumas coisas mas
ainda nao consigo contar as palavras

public void LerTexto() {
String linha;
int ccount= 0;
int tam=0;
try {
FileReader fr;
fr =new FileReader("texto.txt");

BufferedReader bf;
bf= new BufferedReader(fr);


linha = bf.readLine();
linha.charAt(ccount++) ;

while(linha!=null) {

System.out.println(linha);
linha=bf.readLine();
//tam++;

}

for(int i=0;i<linha.charAt(ccount);i--) {
//ccount++;
}

System.out.println(ccount);
}catch (Exception e) {
System.out.println("Error"+e.getMessage() );
}




}





3. Re: Preciso de Ajuda emJAVA? COMO contar palavras em TXT

ERIC LUIZ DA SILVA ORTIZ
Luiz_l

(usa Outra)

Enviado em 29/11/2020 - 22:05h

consegui contar as palavras por outro jeito, porém nao conseguindo usar comparable para comparar quais do texto tem mais palavras.


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class orginalText implements Comparable<orginalText> {

int contPalavrasArquivo = 0;


public int getContPalavrasArquivo() {
return contPalavrasArquivo;
}

public void setContPalavrasArquivo(int contPalavrasArquivo) {
this.contPalavrasArquivo = contPalavrasArquivo;
}

public int LerTexto() {

String linha;
int contPalavrasPorLinha;
int contPalavrasArquivo = 0;


try {
FileReader fr;
fr =new FileReader("C:/Users/luize/Desktop/texto.txt");

BufferedReader bf;
bf= new BufferedReader(fr);
linha = bf.readLine();

while ( linha != null ) {




linha = linha.trim();


if ( !linha.isEmpty() ) {


contPalavrasPorLinha = 1;

linha = linha.replaceAll( "\\s+", " " );


for ( int i = 0; i < linha.length(); i++ ) {
if ( linha.charAt( i ) == ' ' ) {
contPalavrasPorLinha++;
}
}


// System.out.println(linha);

contPalavrasArquivo += contPalavrasPorLinha;

}

linha = bf.readLine();

}

System.out.println( contPalavrasArquivo );

} catch ( IOException e ) {
System.out.println( "Erro: " + e.getMessage() );
}

return contPalavrasArquivo;

}

public int LerTexto2( ) {

String linha;
int contPalavrasPorLinha;
int contPalavrasArquivo = 0;


try {

FileReader fr;
fr =new FileReader("C:/Users/luize/Desktop/texto2.txt");

BufferedReader bf;
bf= new BufferedReader(fr);
linha = bf.readLine();

while ( linha != null ) {




linha = linha.trim();


if ( !linha.isEmpty() ) {


contPalavrasPorLinha = 1;

linha = linha.replaceAll( "\\s+", " " );


for ( int i = 0; i < linha.length(); i++ ) {
if ( linha.charAt( i ) == ' ' ) {
contPalavrasPorLinha++;
}
}


// System.out.println(linha);

contPalavrasArquivo += contPalavrasPorLinha;

}

linha = bf.readLine();

}

System.out.println(contPalavrasArquivo );

} catch ( IOException e ) {
System.out.println( "Erro: " + e.getMessage() );
}

return contPalavrasArquivo;

}

@Override
public int compareTo(orginalText tex) {
if(this.contPalavrasArquivo > tex.getContPalavrasArquivo() ) {
return -1;
}else if (this.contPalavrasArquivo < tex.getContPalavrasArquivo() ) {
return 1;
}

return 0;
}

@Override
public String toString() {
return "orginalTex" + " LerTexto()=" + LerTexto()
+ ", LerTexto2()=" + LerTexto2() + "]";
}


}


import java.util.ArrayList;
import java.util.List;
import java.util.ArrayList;

import java.util.Collections;
import java.util.List;
public class OriginalTextTest {

public static void main( String[] args ) {

try {
//orginalText [] t =new orginalText[2];

ArrayList<orginalText> listaDeTexto = new ArrayList<>();
orginalText t1 = new orginalText ();
// orginalText t2 = new orginalText ();

listaDeTexto.add(t1);
// listaDeTexto.add(t2);

System.out.println(listaDeTexto);


System.out.println("------------------------------");


Collections.sort(listaDeTexto);
System.out.println(listaDeTexto);

}
catch ( ArrayIndexOutOfBoundsException e) {
System.err.println("Informe tres arquivos para comparacao.");
}





4. Possível Solução

Eduardo Silva
dudstecnologia

(usa Deepin)

Enviado em 30/11/2020 - 07:35h

Fiz bem rápido aqui, apenas para clarear suas ideias, porque acho que seu problema é de lógica.


package com.teste.contarpalavrastexto;

public class Main {

public static void main(String[] args) {
LerTexto arquivo1 = new LerTexto("/home/eduardo/texto1.txt");
LerTexto arquivo2 = new LerTexto("/home/eduardo/texto2.txt");

int totalPalavrasArquivo1 = arquivo1.contarPalavras();
int totalPalavrasArquivo2 = arquivo2.contarPalavras();

System.out.println("Total Palavras Arquivo 1: " + totalPalavrasArquivo1);
System.out.println("Total Palavras Arquivo 2: " + totalPalavrasArquivo2);

if (totalPalavrasArquivo1 > totalPalavrasArquivo2) {
System.out.println("O 'Arquivo 1' com " + totalPalavrasArquivo1 + " palavras é maior que o 'Arquivo 2' que tem apenas " + totalPalavrasArquivo2 + " palavras");
} else {
System.out.println("O 'Arquivo 2' com " + totalPalavrasArquivo2 + " palavras é maior que o 'Arquivo 1' que tem apenas " + totalPalavrasArquivo1 + " palavras");
}
}
}



package com.teste.contarpalavrastexto;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class LerTexto {

private String arquivo;

public LerTexto(String arquivo) {
this.arquivo = arquivo;
}

public int contarPalavras() {

try {
FileReader arq = new FileReader(this.arquivo);
BufferedReader lerArq = new BufferedReader(arq);

int totalPalavras = 0;
String linha = lerArq.readLine();

totalPalavras += linha.split(" ").length;

while (linha != null) {
linha = lerArq.readLine();

if (linha != null) {
totalPalavras += linha.split(" ").length;
}
}

arq.close();

return totalPalavras;
} catch (IOException e) {
System.err.printf("Erro na abertura do arquivo: %s.\n", e.getMessage());
}

return 0;
}
}



5. Re: Preciso de Ajuda emJAVA? COMO contar palavras em TXT

ERIC LUIZ DA SILVA ORTIZ
Luiz_l

(usa Outra)

Enviado em 30/11/2020 - 16:51h

Quero agradecer há todos vcs de coraçao que tiveram a paciência em me ajudar.

Codigo Feito:


package teste.contarpalavrastexto;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class LerTexto2 implements Comparable<LerTexto2> {

private String arquivo;
private int totalPalavras;



public int getTotalPalavras() {
return totalPalavras;
}
public void setTotalPalavras(int totalPalavras) {
this.totalPalavras = totalPalavras;
}


public int getQtdPalavras() {
return totalPalavras;
}



public LerTexto2(String arquivo) {
this.arquivo = arquivo;
}
public int contarPalavras() {

try {
FileReader arq = new FileReader(this.arquivo);
BufferedReader lerArq = new BufferedReader(arq);

this.totalPalavras = 0;
String linha = lerArq.readLine();

totalPalavras += linha.split(" ").length;

while (linha != null) {
linha = lerArq.readLine();

if (linha != null) {
totalPalavras += linha.split(" ").length;
}
}

arq.close();
//System.out.println(totalPalavras);
return totalPalavras;
} catch (IOException e) {
System.err.printf("Erro na abertura do arquivo: %s.\n", e.getMessage());
}

return 0;
}

@Override
public int compareTo(LerTexto2 tex) {
if( this.totalPalavras < tex.getQtdPalavras() ) {
return -1;
}else if (this.totalPalavras > tex.getQtdPalavras() ) {
return 1;
}



return 0;
}
@Override
public String toString() {
return "Texto"+"["+contarPalavras()+"]";
}



}






import java.util.ArrayList;
import java.util.Collections;

public class Main2 {

public static void main(String[] args) {


try {

ArrayList<LerTexto2> ListaDeTexto = new ArrayList<LerTexto2>();
LerTexto2 t1 = new LerTexto2("C:/Users/Genus/Desktop/texto.txt");
LerTexto2 t2 = new LerTexto2("C:/Users/Genus/Desktop/texto2.txt");
LerTexto2 t3 = new LerTexto2("C:/Users/Genus/Desktop/texto3.txt");

ListaDeTexto.add(t1);
ListaDeTexto.add(t2);
ListaDeTexto.add(t3);


System.out.println("Lista Desordenada");
System.out.println( ListaDeTexto );
System.out.println("---------------------------------------");
Collections.sort(ListaDeTexto);
System.out.println("Lista Ordenada");
System.out.println(ListaDeTexto);


}
catch ( ArrayIndexOutOfBoundsException e) {
System.err.println("Informe tres arquivos para comparacao.");
}



}



}









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts