Advertisement
Diego1764

Contador de Vocales

Jan 30th, 2025 (edited)
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.13 KB | None | 0 0
  1. package com.mycompany.contador;
  2.  
  3. import java.io.File;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. import java.util.Scanner;
  9.  
  10. /*
  11.     Nombre: [Tu nombre]
  12.     Fecha: [La fecha de hoy]
  13.     Asunto: Contador de Vocales en un Archivo
  14. */
  15.  
  16. public class ConteoVocales {
  17.  
  18.     public void crearArchivo() {
  19.         try {
  20.             System.gc();
  21.             File myObj = new File("vocales.txt");
  22.             if (myObj.createNewFile()) {
  23.                 System.out.println("El archivo ha sido creado: " + myObj.getName());
  24.             } else {
  25.                 System.out.println("El archivo ya existe.");
  26.             }
  27.         } catch (IOException e) {
  28.             System.out.println("Ha ocurrido un error en la creación del archivo.");
  29.             e.printStackTrace();
  30.         }
  31.     }
  32.  
  33.     public void escribirArchivo() {
  34.         try {
  35.             System.gc();
  36.             FileWriter myWriter = new FileWriter("vocales.txt");
  37.             myWriter.write("Hola mundo");
  38.             myWriter.write("\n");
  39.             myWriter.write("Java es un lenguaje de programación");
  40.             myWriter.write("\n");
  41.             myWriter.write("Aprender Java es divertido");
  42.             myWriter.close();
  43.             System.out.println("Se ha escrito en el archivo exitosamente.");
  44.         } catch (IOException e) {
  45.             System.out.println("Ha ocurrido un error en la escritura del archivo. Método escribirArchivo()");
  46.             e.printStackTrace();
  47.         }
  48.     }
  49.  
  50.     public void leerYProcesarArchivo() {
  51.         try {
  52.             System.gc();
  53.             File myObj = new File("vocales.txt");
  54.             Scanner myReader = new Scanner(myObj);
  55.  
  56.             // Mapa para contar la frecuencia de cada vocal
  57.             Map<Character, Integer> frecuenciaVocales = new HashMap<>();
  58.             frecuenciaVocales.put('a', 0);
  59.             frecuenciaVocales.put('e', 0);
  60.             frecuenciaVocales.put('i', 0);
  61.             frecuenciaVocales.put('o', 0);
  62.             frecuenciaVocales.put('u', 0);
  63.  
  64.             while (myReader.hasNextLine()) {
  65.                 String linea = myReader.nextLine().toLowerCase();
  66.                 for (char c : linea.toCharArray()) {
  67.                     if (frecuenciaVocales.containsKey(c)) {
  68.                         frecuenciaVocales.put(c, frecuenciaVocales.get(c) + 1);
  69.                     }
  70.                 }
  71.             }
  72.            
  73.             myReader.close();
  74.  
  75.             // Imprimir las frecuencias de cada vocal
  76.             System.out.println("Frecuencia de vocales en el archivo:");
  77.             for (char vocal : frecuenciaVocales.keySet()) {
  78.                 System.out.println(vocal + ": " + frecuenciaVocales.get(vocal));
  79.             }
  80.  
  81.         } catch (IOException e) {
  82.             System.out.println("Ha ocurrido un error en la lectura del archivo. Método leerYProcesarArchivo()");
  83.             e.printStackTrace();
  84.         }
  85.     }
  86.  
  87.     public static void main(String[] args) {
  88.         ConteoVocales cv = new ConteoVocales();
  89.         cv.crearArchivo();
  90.         cv.escribirArchivo();
  91.         cv.leerYProcesarArchivo();
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement