Skip to content

Commit

Permalink
Create ProcessadorPedido class
Browse files Browse the repository at this point in the history
  • Loading branch information
kevindepolli committed Oct 4, 2023
0 parents commit 89489dd
Show file tree
Hide file tree
Showing 7 changed files with 122 additions and 0 deletions.
14 changes: 14 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ufes</groupId>
<artifactId>ContadorDePalavras</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>20</maven.compiler.source>
<maven.compiler.target>20</maven.compiler.target>
<exec.mainClass>com.ufes.contadordepalavras.ContadorDePalavras</exec.mainClass>
</properties>
</project>
31 changes: 31 additions & 0 deletions src/main/java/com/ufes/contadordepalavras/ContadorDePalavras.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
*/

package com.ufes.contadordepalavras;

import java.util.List;
import java.util.Map;

/**
*
* @author Kevin
*/
public class ContadorDePalavras {

public static void main(String[] args) {
LeitorArquivo leitor = new LeitorArquivo();
ProcessadorTexto processador = new ProcessadorTexto();
EscritorArquivo escritor = new EscritorArquivo();

try {
List<String> linhas = leitor.ler("exemplo.txt");
Map<String, Integer> frequenciaPalavras = processador.contarFrequenciaPalavras(linhas);
escritor.salvarRelatorio(frequenciaPalavras, "relatorio.txt");
} catch (Exception e) {
System.out.println("Falha: " + e.getMessage());
}
}

}

26 changes: 26 additions & 0 deletions src/main/java/com/ufes/contadordepalavras/EscritorArquivo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.ufes.contadordepalavras;

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
*
* @author Kevin
*/
public class EscritorArquivo {
public void salvarRelatorio(Map<String, Integer> frequenciaPalavras, String caminhoDestino) throws Exception {
List<String> relatorio = new ArrayList<>();
for (Map.Entry<String, Integer> entrada : frequenciaPalavras.entrySet()) {
relatorio.add(entrada.getKey() + ": " + entrada.getValue());
}
Files.write(Paths.get(caminhoDestino), relatorio);
}
}

20 changes: 20 additions & 0 deletions src/main/java/com/ufes/contadordepalavras/LeitorArquivo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.ufes.contadordepalavras;

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

/**
*
* @author Kevin
*/
public class LeitorArquivo {
public List<String> ler(String caminhoArquivo) throws Exception {
return Files.readAllLines(Paths.get(caminhoArquivo));
}
}

27 changes: 27 additions & 0 deletions src/main/java/com/ufes/contadordepalavras/ProcessadorTexto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package com.ufes.contadordepalavras;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
*
* @author Kevin
*/
public class ProcessadorTexto {
public Map<String, Integer> contarFrequenciaPalavras(List<String> linhas) {
Map<String, Integer> frequenciaPalavras = new HashMap<>();
for (String linha : linhas) {
String[] palavras = linha.split(" ");
for (String palavra : palavras) {
frequenciaPalavras.put(palavra, frequenciaPalavras.getOrDefault(palavra, 0) + 1);
}
}
return frequenciaPalavras;
}
}

3 changes: 3 additions & 0 deletions src/main/java/com/ufes/contadordepalavras/exemplo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
oi oi oi oi
oi oi oi oi
ola ola ola
1 change: 1 addition & 0 deletions src/main/java/com/ufes/contadordepalavras/relatorio.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

0 comments on commit 89489dd

Please sign in to comment.